diff --git a/Config/DefaultCrypto.ini b/Config/DefaultCrypto.ini new file mode 100644 index 00000000..01fc5ea2 --- /dev/null +++ b/Config/DefaultCrypto.ini @@ -0,0 +1,11 @@ +[/Script/CryptoKeys.CryptoKeysSettings] +EncryptionKey=T97b+LMmuJYRu4TnX9uGDQdLdJwVGbnocIlTPM4+Ddg= +bEncryptPakIniFiles=False +bEncryptPakIndex=True +bEncryptUAssetFiles=False +bEncryptAllAssetFiles=False +SigningPublicExponent= +SigningModulus= +SigningPrivateExponent= +bEnablePakSigning=False + diff --git a/Config/DefaultDeviceProfiles1.ini b/Config/DefaultDeviceProfiles1.ini new file mode 100644 index 00000000..b300b9f8 --- /dev/null +++ b/Config/DefaultDeviceProfiles1.ini @@ -0,0 +1,53 @@ +[WindowsNoEditor DeviceProfile] +DeviceType=Windows +BaseProfileName=Windows ++TextureLODGroups=(Group=TEXTUREGROUP_World,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_WorldNormalMap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=512,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_WorldSpecular,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Character,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_CharacterNormalMap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_CharacterSpecular,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Weapon,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_WeaponNormalMap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_WeaponSpecular,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Vehicle,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_VehicleNormalMap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_VehicleSpecular,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Cinematic,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Effects,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="linear",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_EffectsNotFiltered,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Skybox,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_UI,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_NoMipmaps,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Lightmap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_RenderTarget,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_MobileFlattened,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_ProcBuilding_Face,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_ProcBuilding_LightMap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Shadowmap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=3,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_ColorLookupTable,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Terrain_Heightmap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Terrain_Weightmap,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="aniso",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Bokeh,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="linear",MipFilter="linear",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_IESLightProfile,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Pixels2D,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=256,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="point",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_HierarchicalLOD,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Impostor,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_ImpostorNormalDepth,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_8BitData,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_NoMipmaps,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="point",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_16BitData,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_NoMipmaps,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="point",MipFilter="point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project01,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project02,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project03,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project04,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project05,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project06,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project07,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project08,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project09,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project10,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project11,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project12,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project13,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project14,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) ++TextureLODGroups=(Group=TEXTUREGROUP_Project15,LODBias=0,LODBias_Smaller=-1,LODBias_Smallest=-1,NumStreamedMips=-1,MipGenSettings=TMGS_SimpleAverage,MinLODSize=1,MaxLODSize=4096,MaxLODSize_Smaller=-1,MaxLODSize_Smallest=-1,OptionalLODBias=0,OptionalMaxLODSize=4096,MinMagFilter="Aniso",MipFilter="Point",MipLoadOptions=AllMips,DuplicateNonOptionalMips=False) + diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini index 5cc14616..93b7c757 100644 --- a/Config/DefaultEngine.ini +++ b/Config/DefaultEngine.ini @@ -22,6 +22,7 @@ GameInstanceClass=/Game/Blueprints/Player/GI.GI_C GameInstanceClass=/Game/Blueprints/Player/GI.GI_C GlobalDefaultGameMode=/Game/Blueprints/Player/myGM.myGM_C GlobalDefaultGameMode=/Game/Blueprints/Player/myGM.myGM_C +EditorStartupMap=/Game/Maps/MainScene.MainScene [/Script/Engine.CollisionProfile] -Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision",bCanModify=False) @@ -180,3 +181,6 @@ bSupportsDash=True bCompositesDepth=True PixelDensityMin=0.900000 +[/Script/Engine.NetworkSettings] +n.VerifyPeer=False + diff --git a/Config/DefaultGame.ini b/Config/DefaultGame.ini index 9ce93d9a..9b9f0927 100644 --- a/Config/DefaultGame.ini +++ b/Config/DefaultGame.ini @@ -63,6 +63,12 @@ bSkipMovies=False +DirectoriesToAlwaysCook=(Path="/Game/Blueprints/UI/Imgs/Flats_PNG") +DirectoriesToAlwaysCook=(Path="/Game/Blueprints/UI/Imgs/VR_Components/Plans_Floor") +DirectoriesToAlwaysCook=(Path="/Game/Mavis") ++DirectoriesToAlwaysCook=(Path="/Game/Maps/Interiors/K1_S1") ++DirectoriesToAlwaysCook=(Path="/Game/Maps/Interiors/K1_S2") ++DirectoriesToAlwaysCook=(Path="/Game/Maps/Interiors/K1_S3") ++DirectoriesToAlwaysCook=(Path="/Game/Maps/Interiors/K1_S4") ++DirectoriesToAlwaysCook=(Path="/Game/Maps/Interiors/K2_S1") ++DirectoriesToAlwaysCook=(Path="/Game/Maps/Interiors/K2_S2") +DirectoriesToNeverCook=(Path="/Game/Blueprints/UI/Imgs/Screens") +DirectoriesToAlwaysStageAsNonUFS=(Path="imageConverter") diff --git a/Config/DefaultLightmass.ini b/Config/DefaultLightmass.ini index 8a0080fa..33c60b6c 100644 --- a/Config/DefaultLightmass.ini +++ b/Config/DefaultLightmass.ini @@ -1,4 +1,4 @@ [DevOptions.GPULightmass] -NumPrimaryGISamples=128 -NumSecondaryGISamples=32 +NumPrimaryGISamples=64 +NumSecondaryGISamples=16 FireflyClampingThreshold=1000.0 diff --git a/Config/SteamVRBindings/gamepad.json b/Config/SteamVRBindings/gamepad.json new file mode 100644 index 00000000..c7ab5a2e --- /dev/null +++ b/Config/SteamVRBindings/gamepad.json @@ -0,0 +1,13 @@ +{ + "name": "Default bindings for Gamepads", + "controller_type": "gamepad", + "last_edited_by": "UnrealEngine", + "bindings": + { + "/actions/main": + { + "sources": [] + } + }, + "description": "piterGraphicsC-14469661" +} \ No newline at end of file diff --git a/Config/SteamVRBindings/holographic_controller.json b/Config/SteamVRBindings/holographic_controller.json new file mode 100644 index 00000000..6e9ed12d --- /dev/null +++ b/Config/SteamVRBindings/holographic_controller.json @@ -0,0 +1,44 @@ +{ + "name": "Default bindings for MixedReality", + "controller_type": "holographic_controller", + "last_edited_by": "UnrealEngine", + "bindings": + { + "/actions/main": + { + "sources": [], + "poses": [ + { + "output": "/actions/main/in/controllerleft", + "path": "/user/hand/left/pose/raw", + "requirement": "optional" + }, + { + "output": "/actions/main/in/controllerright", + "path": "/user/hand/right/pose/raw" + } + ], + "skeleton": [ + { + "output": "/actions/main/in/skeletonleft", + "path": "/user/hand/left/input/skeleton/left" + }, + { + "output": "/actions/main/in/skeletonright", + "path": "/user/hand/right/input/skeleton/right" + } + ], + "haptics": [ + { + "output": "/actions/main/out/vibrateleft", + "path": "/user/hand/left/output/haptic" + }, + { + "output": "/actions/main/out/vibrateright", + "path": "/user/hand/right/output/haptic" + } + ] + } + }, + "description": "piterGraphicsC-14469661" +} \ No newline at end of file diff --git a/Config/SteamVRBindings/indexhmd.json b/Config/SteamVRBindings/indexhmd.json new file mode 100644 index 00000000..0f41c4cc --- /dev/null +++ b/Config/SteamVRBindings/indexhmd.json @@ -0,0 +1,13 @@ +{ + "name": "Default bindings for Valve Index Headset", + "controller_type": "indexhmd", + "last_edited_by": "UnrealEngine", + "bindings": + { + "/actions/main": + { + "sources": [] + } + }, + "description": "piterGraphicsC-14469661" +} \ No newline at end of file diff --git a/Config/SteamVRBindings/knuckles.json b/Config/SteamVRBindings/knuckles.json new file mode 100644 index 00000000..8d3ee49a --- /dev/null +++ b/Config/SteamVRBindings/knuckles.json @@ -0,0 +1,44 @@ +{ + "name": "Default bindings for ValveIndex", + "controller_type": "knuckles", + "last_edited_by": "UnrealEngine", + "bindings": + { + "/actions/main": + { + "sources": [], + "poses": [ + { + "output": "/actions/main/in/controllerleft", + "path": "/user/hand/left/pose/raw", + "requirement": "optional" + }, + { + "output": "/actions/main/in/controllerright", + "path": "/user/hand/right/pose/raw" + } + ], + "skeleton": [ + { + "output": "/actions/main/in/skeletonleft", + "path": "/user/hand/left/input/skeleton/left" + }, + { + "output": "/actions/main/in/skeletonright", + "path": "/user/hand/right/input/skeleton/right" + } + ], + "haptics": [ + { + "output": "/actions/main/out/vibrateleft", + "path": "/user/hand/left/output/haptic" + }, + { + "output": "/actions/main/out/vibrateright", + "path": "/user/hand/right/output/haptic" + } + ] + } + }, + "description": "piterGraphicsC-14469661" +} \ No newline at end of file diff --git a/Config/SteamVRBindings/oculus_touch.json b/Config/SteamVRBindings/oculus_touch.json new file mode 100644 index 00000000..f9297466 --- /dev/null +++ b/Config/SteamVRBindings/oculus_touch.json @@ -0,0 +1,89 @@ +{ + "name": "Default bindings for OculusTouch", + "controller_type": "oculus_touch", + "last_edited_by": "UnrealEngine", + "bindings": + { + "/actions/main": + { + "sources": [ + { + "mode": "trigger", + "path": "/user/hand/right/input/trigger", + "inputs": + { + "click": + { + "output": "/actions/main/in/troggerR" + } + } + }, + { + "mode": "button", + "path": "/user/hand/left/input/x", + "inputs": + { + "click": + { + "output": "/actions/main/in/menu" + } + } + }, + { + "mode": "button", + "path": "/user/hand/right/input/a", + "inputs": + { + "click": + { + "output": "/actions/main/in/menu" + } + } + }, + { + "mode": "trigger", + "path": "/user/hand/right/input/trigger", + "inputs": + { + "pull": + { + "output": "/actions/main/in/VRtrigger axis" + } + } + } + ], + "poses": [ + { + "output": "/actions/main/in/controllerleft", + "path": "/user/hand/left/pose/raw", + "requirement": "optional" + }, + { + "output": "/actions/main/in/controllerright", + "path": "/user/hand/right/pose/raw" + } + ], + "skeleton": [ + { + "output": "/actions/main/in/skeletonleft", + "path": "/user/hand/left/input/skeleton/left" + }, + { + "output": "/actions/main/in/skeletonright", + "path": "/user/hand/right/input/skeleton/right" + } + ], + "haptics": [ + { + "output": "/actions/main/out/vibrateleft", + "path": "/user/hand/left/output/haptic" + }, + { + "output": "/actions/main/out/vibrateright", + "path": "/user/hand/right/output/haptic" + } + ] + } + }, + "description": "piterGraphicsC-14469661" +} \ No newline at end of file diff --git a/Config/SteamVRBindings/rift.json b/Config/SteamVRBindings/rift.json new file mode 100644 index 00000000..0e76cc8d --- /dev/null +++ b/Config/SteamVRBindings/rift.json @@ -0,0 +1,13 @@ +{ + "name": "Default bindings for Rift Headset", + "controller_type": "rift", + "last_edited_by": "UnrealEngine", + "bindings": + { + "/actions/main": + { + "sources": [] + } + }, + "description": "piterGraphicsC-14469661" +} \ No newline at end of file diff --git a/Config/SteamVRBindings/steamvr_manifest.json b/Config/SteamVRBindings/steamvr_manifest.json new file mode 100644 index 00000000..4466f0e7 --- /dev/null +++ b/Config/SteamVRBindings/steamvr_manifest.json @@ -0,0 +1,169 @@ +{ + "actions": [ + { + "name": "/actions/main/in/controllerleft", + "type": "pose", + "requirement": "optional" + }, + { + "name": "/actions/main/in/controllerright", + "type": "pose", + "requirement": "optional" + }, + { + "name": "/actions/main/in/special1", + "type": "pose", + "requirement": "optional" + }, + { + "name": "/actions/main/in/special2", + "type": "pose", + "requirement": "optional" + }, + { + "name": "/actions/main/in/special3", + "type": "pose", + "requirement": "optional" + }, + { + "name": "/actions/main/in/special4", + "type": "pose", + "requirement": "optional" + }, + { + "name": "/actions/main/in/special5", + "type": "pose", + "requirement": "optional" + }, + { + "name": "/actions/main/in/special6", + "type": "pose", + "requirement": "optional" + }, + { + "name": "/actions/main/in/special7", + "type": "pose", + "requirement": "optional" + }, + { + "name": "/actions/main/in/special8", + "type": "pose", + "requirement": "optional" + }, + { + "name": "/actions/main/in/skeletonleft", + "type": "skeleton", + "skeleton": "/skeleton/hand/left", + "requirement": "optional" + }, + { + "name": "/actions/main/in/skeletonright", + "type": "skeleton", + "skeleton": "/skeleton/hand/right", + "requirement": "optional" + }, + { + "name": "/actions/main/out/vibrateleft", + "type": "vibration", + "requirement": "optional" + }, + { + "name": "/actions/main/out/vibrateright", + "type": "vibration", + "requirement": "optional" + }, + { + "name": "/actions/main/in/open_console", + "type": "boolean", + "requirement": "optional" + }, + { + "name": "/actions/main/in/troggerR", + "type": "boolean" + }, + { + "name": "/actions/main/in/menu", + "type": "boolean" + }, + { + "name": "/actions/main/in/VRtrigger axis", + "type": "vector1" + } + ], + "action_sets": [ + { + "name": "/actions/main", + "usage": "leftright" + } + ], + "default_bindings": [ + { + "controller_type": "gamepad", + "binding_url": "gamepad.json" + }, + { + "controller_type": "holographic_controller", + "binding_url": "holographic_controller.json" + }, + { + "controller_type": "indexhmd", + "binding_url": "indexhmd.json" + }, + { + "controller_type": "knuckles", + "binding_url": "knuckles.json" + }, + { + "controller_type": "oculus_touch", + "binding_url": "oculus_touch.json" + }, + { + "controller_type": "rift", + "binding_url": "rift.json" + }, + { + "controller_type": "vive", + "binding_url": "vive.json" + }, + { + "controller_type": "vive_controller", + "binding_url": "vive_controller.json" + }, + { + "controller_type": "vive_cosmos_controller", + "binding_url": "vive_cosmos_controller.json" + }, + { + "controller_type": "vive_pro", + "binding_url": "vive_pro.json" + }, + { + "controller_type": "vive_tracker_camera", + "binding_url": "vive_tracker_camera.json" + } + ], + "localization": [ + { + "language_tag": "en_us", + "/actions/main/in/controllerleft": "Left Controller [Pose]", + "/actions/main/in/controllerright": "Right Controller [Pose]", + "/actions/main/in/special1": "Special 1 [Tracker]", + "/actions/main/in/special2": "Special 2 [Tracker]", + "/actions/main/in/special3": "Special 3 [Tracker]", + "/actions/main/in/special4": "Special 4 [Tracker]", + "/actions/main/in/special5": "Special 5 [Tracker]", + "/actions/main/in/special6": "Special 6 [Tracker]", + "/actions/main/in/special7": "Special 7 [Tracker]", + "/actions/main/in/special8": "Special 8 [Tracker]", + "/actions/main/in/skeletonleft": "Skeleton (Left)", + "/actions/main/in/skeletonright": "Skeleton (Right)", + "/actions/main/out/vibrateleft": "Haptic (Left)", + "/actions/main/out/vibrateright": "Haptic (Right)", + "/actions/main/in/open_console": "Open Console", + "/actions/main/in/troggerR": "troggerR", + "/actions/main/in/menu": "menu", + "/actions/main/in/VRtrigger axis": "VRtrigger", + "/actions/main": "Main Game Actions" + } + ] +} \ No newline at end of file diff --git a/Config/SteamVRBindings/vive.json b/Config/SteamVRBindings/vive.json new file mode 100644 index 00000000..b4c6a8c2 --- /dev/null +++ b/Config/SteamVRBindings/vive.json @@ -0,0 +1,13 @@ +{ + "name": "Default bindings for Vive Headset", + "controller_type": "vive", + "last_edited_by": "UnrealEngine", + "bindings": + { + "/actions/main": + { + "sources": [] + } + }, + "description": "piterGraphicsC-14469661" +} \ No newline at end of file diff --git a/Config/SteamVRBindings/vive_controller.json b/Config/SteamVRBindings/vive_controller.json new file mode 100644 index 00000000..fbd02dd7 --- /dev/null +++ b/Config/SteamVRBindings/vive_controller.json @@ -0,0 +1,78 @@ +{ + "name": "Default bindings for Vive", + "controller_type": "vive_controller", + "last_edited_by": "UnrealEngine", + "bindings": + { + "/actions/main": + { + "sources": [ + { + "mode": "trigger", + "path": "/user/hand/right/input/trigger", + "inputs": + { + "click": + { + "output": "/actions/main/in/troggerR" + } + } + }, + { + "mode": "trackpad", + "path": "/user/hand/right/input/trackpad", + "inputs": + { + "click": + { + "output": "/actions/main/in/menu" + } + } + }, + { + "mode": "trigger", + "path": "/user/hand/right/input/trigger", + "inputs": + { + "pull": + { + "output": "/actions/main/in/VRtrigger axis" + } + } + } + ], + "poses": [ + { + "output": "/actions/main/in/controllerleft", + "path": "/user/hand/left/pose/raw", + "requirement": "optional" + }, + { + "output": "/actions/main/in/controllerright", + "path": "/user/hand/right/pose/raw" + } + ], + "skeleton": [ + { + "output": "/actions/main/in/skeletonleft", + "path": "/user/hand/left/input/skeleton/left" + }, + { + "output": "/actions/main/in/skeletonright", + "path": "/user/hand/right/input/skeleton/right" + } + ], + "haptics": [ + { + "output": "/actions/main/out/vibrateleft", + "path": "/user/hand/left/output/haptic" + }, + { + "output": "/actions/main/out/vibrateright", + "path": "/user/hand/right/output/haptic" + } + ] + } + }, + "description": "piterGraphicsC-14469661" +} \ No newline at end of file diff --git a/Config/SteamVRBindings/vive_cosmos_controller.json b/Config/SteamVRBindings/vive_cosmos_controller.json new file mode 100644 index 00000000..6e8ab033 --- /dev/null +++ b/Config/SteamVRBindings/vive_cosmos_controller.json @@ -0,0 +1,44 @@ +{ + "name": "Default bindings for Cosmos", + "controller_type": "vive_cosmos_controller", + "last_edited_by": "UnrealEngine", + "bindings": + { + "/actions/main": + { + "sources": [], + "poses": [ + { + "output": "/actions/main/in/controllerleft", + "path": "/user/hand/left/pose/raw", + "requirement": "optional" + }, + { + "output": "/actions/main/in/controllerright", + "path": "/user/hand/right/pose/raw" + } + ], + "skeleton": [ + { + "output": "/actions/main/in/skeletonleft", + "path": "/user/hand/left/input/skeleton/left" + }, + { + "output": "/actions/main/in/skeletonright", + "path": "/user/hand/right/input/skeleton/right" + } + ], + "haptics": [ + { + "output": "/actions/main/out/vibrateleft", + "path": "/user/hand/left/output/haptic" + }, + { + "output": "/actions/main/out/vibrateright", + "path": "/user/hand/right/output/haptic" + } + ] + } + }, + "description": "piterGraphicsC-14469661" +} \ No newline at end of file diff --git a/Config/SteamVRBindings/vive_pro.json b/Config/SteamVRBindings/vive_pro.json new file mode 100644 index 00000000..3b5453be --- /dev/null +++ b/Config/SteamVRBindings/vive_pro.json @@ -0,0 +1,13 @@ +{ + "name": "Default bindings for Vive Pro Headset", + "controller_type": "vive_pro", + "last_edited_by": "UnrealEngine", + "bindings": + { + "/actions/main": + { + "sources": [] + } + }, + "description": "piterGraphicsC-14469661" +} \ No newline at end of file diff --git a/Config/SteamVRBindings/vive_tracker_camera.json b/Config/SteamVRBindings/vive_tracker_camera.json new file mode 100644 index 00000000..0751a0e9 --- /dev/null +++ b/Config/SteamVRBindings/vive_tracker_camera.json @@ -0,0 +1,89 @@ +{ + "name": "Default bindings for Vive Trackers", + "controller_type": "vive_tracker_camera", + "last_edited_by": "UnrealEngine", + "bindings": + { + "/actions/main": + { + "sources": [ + { + "mode": "trigger", + "path": "/user/hand/right/input/trigger", + "inputs": + { + "click": + { + "output": "/actions/main/in/troggerR" + } + } + }, + { + "mode": "trackpad", + "path": "/user/hand/right/input/trackpad", + "inputs": + { + "click": + { + "output": "/actions/main/in/menu" + } + } + }, + { + "mode": "trigger", + "path": "/user/hand/right/input/trigger", + "inputs": + { + "pull": + { + "output": "/actions/main/in/VRtrigger axis" + } + } + } + ], + "poses": [ + { + "output": "/actions/main/in/special1", + "path": "/user/hand/left/pose/back", + "requirement": "optional" + }, + { + "output": "/actions/main/in/special2", + "path": "/user/hand/right/pose/back", + "requirement": "optional" + }, + { + "output": "/actions/main/in/special3", + "path": "/user/hand/left/pose/front", + "requirement": "optional" + }, + { + "output": "/actions/main/in/special4", + "path": "/user/hand/right/pose/front", + "requirement": "optional" + }, + { + "output": "/actions/main/in/special5", + "path": "/user/hand/left/pose/frontandrolled", + "requirement": "optional" + }, + { + "output": "/actions/main/in/special6", + "path": "/user/hand/right/pose/frontandrolled", + "requirement": "optional" + }, + { + "output": "/actions/main/in/special7", + "path": "/user/hand/left/pose/pistolgrip", + "requirement": "optional" + }, + { + "output": "/actions/main/in/special8", + "path": "/user/hand/right/pose/pistolgrip", + "requirement": "optional" + } + ] + } + }, + "description": "piterGraphicsC-14469661" +} \ No newline at end of file diff --git a/Config/steamvr_ue_editor_app.json b/Config/steamvr_ue_editor_app.json new file mode 100644 index 00000000..f6799662 --- /dev/null +++ b/Config/steamvr_ue_editor_app.json @@ -0,0 +1,18 @@ +{ + "source": "UE", + "applications": [ + { + "app_key": "application.generated.ue.pitergraphicsc-14469661.ue4editor.exe", + "launch_type": "url", + "url": "steam://launch/", + "action_manifest_path": "E:/Projects/piterGraphics/Config/SteamVRBindings/steamvr_manifest.json", + "strings": + { + "en_us": + { + "name": "piterGraphicsC-14469661 [UE Editor]" + } + } + } + ] +} \ No newline at end of file diff --git a/Content/Blueprints/Bps.uasset b/Content/Blueprints/Bps.uasset index 81dd08de..a5d7d203 100644 Binary files a/Content/Blueprints/Bps.uasset and b/Content/Blueprints/Bps.uasset differ diff --git a/Content/Blueprints/Lift/BM_Elevator.uasset b/Content/Blueprints/Lift/BM_Elevator.uasset index 234bb854..76966d98 100644 Binary files a/Content/Blueprints/Lift/BM_Elevator.uasset and b/Content/Blueprints/Lift/BM_Elevator.uasset differ diff --git a/Content/Blueprints/Player/GI.uasset b/Content/Blueprints/Player/GI.uasset index d1d20616..d70c6429 100644 Binary files a/Content/Blueprints/Player/GI.uasset and b/Content/Blueprints/Player/GI.uasset differ diff --git a/Content/Blueprints/Player/GameplayFunctions.uasset b/Content/Blueprints/Player/GameplayFunctions.uasset index 389da740..c3956870 100644 Binary files a/Content/Blueprints/Player/GameplayFunctions.uasset and b/Content/Blueprints/Player/GameplayFunctions.uasset differ diff --git a/Content/Blueprints/Player/MathAndConvertFns.uasset b/Content/Blueprints/Player/MathAndConvertFns.uasset index 4b205943..055f3d0c 100644 Binary files a/Content/Blueprints/Player/MathAndConvertFns.uasset and b/Content/Blueprints/Player/MathAndConvertFns.uasset differ diff --git a/Content/Blueprints/Player/MyPC.uasset b/Content/Blueprints/Player/MyPC.uasset index f00fbbc7..6d4342cf 100644 Binary files a/Content/Blueprints/Player/MyPC.uasset and b/Content/Blueprints/Player/MyPC.uasset differ diff --git a/Content/Blueprints/Player/MyPawn.uasset b/Content/Blueprints/Player/MyPawn.uasset index a6b1d2dc..4bf19ef7 100644 Binary files a/Content/Blueprints/Player/MyPawn.uasset and b/Content/Blueprints/Player/MyPawn.uasset differ diff --git a/Content/Blueprints/Player/VR/VRPawn.uasset b/Content/Blueprints/Player/VR/VRPawn.uasset index 608663c5..8962d57a 100644 Binary files a/Content/Blueprints/Player/VR/VRPawn.uasset and b/Content/Blueprints/Player/VR/VRPawn.uasset differ diff --git a/Content/Blueprints/Player/WalkingPawn.uasset b/Content/Blueprints/Player/WalkingPawn.uasset index 23485841..7e38c714 100644 Binary files a/Content/Blueprints/Player/WalkingPawn.uasset and b/Content/Blueprints/Player/WalkingPawn.uasset differ diff --git a/Content/Blueprints/Player/myGM.uasset b/Content/Blueprints/Player/myGM.uasset index 32d1dcbc..ba22822c 100644 Binary files a/Content/Blueprints/Player/myGM.uasset and b/Content/Blueprints/Player/myGM.uasset differ diff --git a/Content/Blueprints/UI/Actors/FlatPoint.uasset b/Content/Blueprints/UI/Actors/FlatPoint.uasset index f15cd7cc..4bcaa4c1 100644 Binary files a/Content/Blueprints/UI/Actors/FlatPoint.uasset and b/Content/Blueprints/UI/Actors/FlatPoint.uasset differ diff --git a/Content/Blueprints/UI/Actors/FloorPoint.uasset b/Content/Blueprints/UI/Actors/FloorPoint.uasset index 937960c3..82c6ba03 100644 Binary files a/Content/Blueprints/UI/Actors/FloorPoint.uasset and b/Content/Blueprints/UI/Actors/FloorPoint.uasset differ diff --git a/Content/Blueprints/UI/Actors/HousePoint.uasset b/Content/Blueprints/UI/Actors/HousePoint.uasset index 7a3e27cb..e356862e 100644 Binary files a/Content/Blueprints/UI/Actors/HousePoint.uasset and b/Content/Blueprints/UI/Actors/HousePoint.uasset differ diff --git a/Content/Blueprints/UI/Actors/InfraPointSimple.uasset b/Content/Blueprints/UI/Actors/InfraPointSimple.uasset new file mode 100644 index 00000000..576ccace Binary files /dev/null and b/Content/Blueprints/UI/Actors/InfraPointSimple.uasset differ diff --git a/Content/Blueprints/UI/Actors/KPmaker.uasset b/Content/Blueprints/UI/Actors/KPmaker.uasset index ec52ad1e..5a5d8f0f 100644 Binary files a/Content/Blueprints/UI/Actors/KPmaker.uasset and b/Content/Blueprints/UI/Actors/KPmaker.uasset differ diff --git a/Content/Blueprints/UI/Actors/flatPlan.uasset b/Content/Blueprints/UI/Actors/flatPlan.uasset index ca851981..72804707 100644 Binary files a/Content/Blueprints/UI/Actors/flatPlan.uasset and b/Content/Blueprints/UI/Actors/flatPlan.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat1.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat1.uasset new file mode 100644 index 00000000..ac7823f0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat1.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat10.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat10.uasset new file mode 100644 index 00000000..875904b1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat10.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat100.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat100.uasset new file mode 100644 index 00000000..7323597b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat100.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat101.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat101.uasset new file mode 100644 index 00000000..fc17889a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat101.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat102.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat102.uasset new file mode 100644 index 00000000..78688309 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat102.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat103.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat103.uasset new file mode 100644 index 00000000..a5d3b8c5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat103.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat104.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat104.uasset new file mode 100644 index 00000000..faea771e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat104.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat105.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat105.uasset new file mode 100644 index 00000000..5743f87e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat105.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat106.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat106.uasset new file mode 100644 index 00000000..54e0a586 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat106.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat107.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat107.uasset new file mode 100644 index 00000000..c6145050 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat107.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat108.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat108.uasset new file mode 100644 index 00000000..6a4717c2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat108.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat109.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat109.uasset new file mode 100644 index 00000000..1f9a048d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat109.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat11.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat11.uasset new file mode 100644 index 00000000..d34acdfd Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat11.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat110.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat110.uasset new file mode 100644 index 00000000..f74f158b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat110.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat111.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat111.uasset new file mode 100644 index 00000000..c1a90a81 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat111.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat112.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat112.uasset new file mode 100644 index 00000000..87417bd6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat112.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat113.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat113.uasset new file mode 100644 index 00000000..8254ccb5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat113.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat114.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat114.uasset new file mode 100644 index 00000000..7dbccd0b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat114.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat115.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat115.uasset new file mode 100644 index 00000000..09329ea1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat115.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat116.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat116.uasset new file mode 100644 index 00000000..9bfc15ae Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat116.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat117.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat117.uasset new file mode 100644 index 00000000..12dca6e3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat117.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat118.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat118.uasset new file mode 100644 index 00000000..907c0ff4 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat118.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat119.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat119.uasset new file mode 100644 index 00000000..a05e8389 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat119.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat12.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat12.uasset new file mode 100644 index 00000000..13948c2b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat12.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat120.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat120.uasset new file mode 100644 index 00000000..6dc1dc75 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat120.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat121.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat121.uasset new file mode 100644 index 00000000..cdeb823c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat121.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat122.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat122.uasset new file mode 100644 index 00000000..112f2bc7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat122.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat123.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat123.uasset new file mode 100644 index 00000000..e7cfa5a8 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat123.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat124.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat124.uasset new file mode 100644 index 00000000..bf69086d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat124.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat125.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat125.uasset new file mode 100644 index 00000000..889a56ba Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat125.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat126.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat126.uasset new file mode 100644 index 00000000..364591af Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat126.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat127.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat127.uasset new file mode 100644 index 00000000..a1923e14 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat127.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat128.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat128.uasset new file mode 100644 index 00000000..5ae37cea Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat128.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat129.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat129.uasset new file mode 100644 index 00000000..4982e32b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat129.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat13.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat13.uasset new file mode 100644 index 00000000..5d7f15b4 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat13.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat130.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat130.uasset new file mode 100644 index 00000000..9a3ea39f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat130.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat131.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat131.uasset new file mode 100644 index 00000000..fbcd8d64 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat131.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat132.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat132.uasset new file mode 100644 index 00000000..812f2614 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat132.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat133.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat133.uasset new file mode 100644 index 00000000..61d78c0c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat133.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat134.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat134.uasset new file mode 100644 index 00000000..0bd76898 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat134.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat135.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat135.uasset new file mode 100644 index 00000000..484fa111 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat135.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat136.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat136.uasset new file mode 100644 index 00000000..c402b5c2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat136.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat137.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat137.uasset new file mode 100644 index 00000000..e6e80914 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat137.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat138.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat138.uasset new file mode 100644 index 00000000..8cfe9b5c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat138.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat139.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat139.uasset new file mode 100644 index 00000000..412065b7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat139.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat14.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat14.uasset new file mode 100644 index 00000000..e3a95795 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat14.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat140.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat140.uasset new file mode 100644 index 00000000..a0b2afd5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat140.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat141.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat141.uasset new file mode 100644 index 00000000..360df41a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat141.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat142.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat142.uasset new file mode 100644 index 00000000..0e0106a0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat142.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat143.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat143.uasset new file mode 100644 index 00000000..d287373c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat143.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat144.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat144.uasset new file mode 100644 index 00000000..27002483 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat144.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat145.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat145.uasset new file mode 100644 index 00000000..85c5b2ce Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat145.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat146.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat146.uasset new file mode 100644 index 00000000..5e02218a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat146.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat147.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat147.uasset new file mode 100644 index 00000000..82a5fbec Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat147.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat148.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat148.uasset new file mode 100644 index 00000000..ec227396 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat148.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat149.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat149.uasset new file mode 100644 index 00000000..9bd6d5d3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat149.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat15.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat15.uasset new file mode 100644 index 00000000..6bce11eb Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat15.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat150.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat150.uasset new file mode 100644 index 00000000..c4fe0ba3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat150.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat151.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat151.uasset new file mode 100644 index 00000000..f1f38903 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat151.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat152.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat152.uasset new file mode 100644 index 00000000..52ea151a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat152.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat153.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat153.uasset new file mode 100644 index 00000000..0577a7e6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat153.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat154.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat154.uasset new file mode 100644 index 00000000..fbe942e3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat154.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat155.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat155.uasset new file mode 100644 index 00000000..bb8c2ea6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat155.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat156.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat156.uasset new file mode 100644 index 00000000..2d64d096 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat156.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat157.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat157.uasset new file mode 100644 index 00000000..936fc22f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat157.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat158.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat158.uasset new file mode 100644 index 00000000..9e26cfcb Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat158.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat159.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat159.uasset new file mode 100644 index 00000000..49733c28 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat159.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat16.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat16.uasset new file mode 100644 index 00000000..ea4c8eb9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat16.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat160.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat160.uasset new file mode 100644 index 00000000..b0e311b5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat160.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat161.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat161.uasset new file mode 100644 index 00000000..4e911284 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat161.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat162.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat162.uasset new file mode 100644 index 00000000..563983a7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat162.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat163.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat163.uasset new file mode 100644 index 00000000..d7d0fe23 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat163.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat164.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat164.uasset new file mode 100644 index 00000000..d4d390c5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat164.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat165.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat165.uasset new file mode 100644 index 00000000..2373a7f2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat165.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat166.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat166.uasset new file mode 100644 index 00000000..f3f6bdf6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat166.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat167.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat167.uasset new file mode 100644 index 00000000..2f32ace8 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat167.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat168.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat168.uasset new file mode 100644 index 00000000..986d7507 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat168.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat169.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat169.uasset new file mode 100644 index 00000000..a917ea13 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat169.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat17.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat17.uasset new file mode 100644 index 00000000..542c1fd9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat17.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat170.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat170.uasset new file mode 100644 index 00000000..c13996e2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat170.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat171.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat171.uasset new file mode 100644 index 00000000..0bcf8e1f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat171.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat172.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat172.uasset new file mode 100644 index 00000000..4db71589 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat172.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat173.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat173.uasset new file mode 100644 index 00000000..b777ea82 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat173.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat174.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat174.uasset new file mode 100644 index 00000000..89e4ec66 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat174.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat175.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat175.uasset new file mode 100644 index 00000000..1300c5ac Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat175.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat176.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat176.uasset new file mode 100644 index 00000000..9c46d111 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat176.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat177.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat177.uasset new file mode 100644 index 00000000..32b25b4d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat177.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat178.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat178.uasset new file mode 100644 index 00000000..312a973d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat178.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat179.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat179.uasset new file mode 100644 index 00000000..1811d1a0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat179.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat18.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat18.uasset new file mode 100644 index 00000000..0014e31a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat18.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat180.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat180.uasset new file mode 100644 index 00000000..3e33832c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat180.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat181.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat181.uasset new file mode 100644 index 00000000..df745609 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat181.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat182.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat182.uasset new file mode 100644 index 00000000..a7a2e513 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat182.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat183.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat183.uasset new file mode 100644 index 00000000..7d13ee04 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat183.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat184.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat184.uasset new file mode 100644 index 00000000..61cca519 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat184.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat185.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat185.uasset new file mode 100644 index 00000000..70c2963b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat185.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat186.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat186.uasset new file mode 100644 index 00000000..69a57981 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat186.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat187.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat187.uasset new file mode 100644 index 00000000..a9943638 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat187.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat188.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat188.uasset new file mode 100644 index 00000000..389009f3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat188.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat189.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat189.uasset new file mode 100644 index 00000000..db702d46 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat189.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat19.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat19.uasset new file mode 100644 index 00000000..4e6de357 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat19.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat190.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat190.uasset new file mode 100644 index 00000000..180c85e8 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat190.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat191.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat191.uasset new file mode 100644 index 00000000..5500fa23 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat191.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat192.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat192.uasset new file mode 100644 index 00000000..31f0a01b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat192.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat193.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat193.uasset new file mode 100644 index 00000000..00e4cb87 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat193.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat194.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat194.uasset new file mode 100644 index 00000000..1f1c2278 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat194.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat195.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat195.uasset new file mode 100644 index 00000000..ff0121c6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat195.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat196.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat196.uasset new file mode 100644 index 00000000..3a7075ac Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat196.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat197.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat197.uasset new file mode 100644 index 00000000..753c6c29 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat197.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat198.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat198.uasset new file mode 100644 index 00000000..0b56eba2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat198.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat199.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat199.uasset new file mode 100644 index 00000000..34a1622e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat199.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat2.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat2.uasset new file mode 100644 index 00000000..82e1404c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat2.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat20.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat20.uasset new file mode 100644 index 00000000..0d46df50 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat20.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat200.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat200.uasset new file mode 100644 index 00000000..3dcf80d6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat200.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat201.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat201.uasset new file mode 100644 index 00000000..783fbbef Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat201.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat202.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat202.uasset new file mode 100644 index 00000000..063ba60c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat202.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat203.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat203.uasset new file mode 100644 index 00000000..b220c324 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat203.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat204.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat204.uasset new file mode 100644 index 00000000..9777a200 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat204.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat205.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat205.uasset new file mode 100644 index 00000000..4338cb68 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat205.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat206.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat206.uasset new file mode 100644 index 00000000..2abc9149 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat206.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat207.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat207.uasset new file mode 100644 index 00000000..6035d7fa Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat207.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat208.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat208.uasset new file mode 100644 index 00000000..4174ea40 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat208.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat209.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat209.uasset new file mode 100644 index 00000000..393a2cbb Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat209.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat21.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat21.uasset new file mode 100644 index 00000000..a249bfff Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat21.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat210.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat210.uasset new file mode 100644 index 00000000..cbf3ccde Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat210.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat211.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat211.uasset new file mode 100644 index 00000000..0182c9b3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat211.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat212.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat212.uasset new file mode 100644 index 00000000..59e9b860 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat212.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat213.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat213.uasset new file mode 100644 index 00000000..4befd175 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat213.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat214.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat214.uasset new file mode 100644 index 00000000..222a8d30 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat214.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat215.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat215.uasset new file mode 100644 index 00000000..30bcecc7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat215.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat216.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat216.uasset new file mode 100644 index 00000000..f043ad4c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat216.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat217.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat217.uasset new file mode 100644 index 00000000..903ad1c3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat217.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat218.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat218.uasset new file mode 100644 index 00000000..d9562a37 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat218.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat219.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat219.uasset new file mode 100644 index 00000000..e76a13ac Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat219.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat22.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat22.uasset new file mode 100644 index 00000000..ac1f0c5b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat22.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat220.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat220.uasset new file mode 100644 index 00000000..7a39b1a3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat220.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat221.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat221.uasset new file mode 100644 index 00000000..7bfa388e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat221.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat222.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat222.uasset new file mode 100644 index 00000000..4d2c44ef Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat222.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat223.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat223.uasset new file mode 100644 index 00000000..2d6d052f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat223.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat224.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat224.uasset new file mode 100644 index 00000000..4cfbad00 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat224.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat225.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat225.uasset new file mode 100644 index 00000000..48d38fa8 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat225.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat226.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat226.uasset new file mode 100644 index 00000000..dc1124c6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat226.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat227.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat227.uasset new file mode 100644 index 00000000..80a70dcf Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat227.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat228.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat228.uasset new file mode 100644 index 00000000..b39f9cbb Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat228.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat229.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat229.uasset new file mode 100644 index 00000000..ecde45cf Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat229.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat23.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat23.uasset new file mode 100644 index 00000000..b63025b2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat23.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat230.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat230.uasset new file mode 100644 index 00000000..2e9ea9f3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat230.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat231.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat231.uasset new file mode 100644 index 00000000..8f3f44cc Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat231.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat232.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat232.uasset new file mode 100644 index 00000000..df02cf96 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat232.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat233.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat233.uasset new file mode 100644 index 00000000..369d5931 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat233.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat234.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat234.uasset new file mode 100644 index 00000000..87f23b83 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat234.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat235.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat235.uasset new file mode 100644 index 00000000..88c8f16f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat235.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat236.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat236.uasset new file mode 100644 index 00000000..ccc6ad50 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat236.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat237.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat237.uasset new file mode 100644 index 00000000..98a8fdf0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat237.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat238.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat238.uasset new file mode 100644 index 00000000..50770493 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat238.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat239.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat239.uasset new file mode 100644 index 00000000..6cc16292 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat239.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat24.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat24.uasset new file mode 100644 index 00000000..b1e4cccc Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat24.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat240.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat240.uasset new file mode 100644 index 00000000..3ef9e706 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat240.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat241.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat241.uasset new file mode 100644 index 00000000..dcba831d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat241.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat242.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat242.uasset new file mode 100644 index 00000000..9f3ed328 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat242.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat243.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat243.uasset new file mode 100644 index 00000000..6eacd35e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat243.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat244.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat244.uasset new file mode 100644 index 00000000..f1968b3c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat244.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat245.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat245.uasset new file mode 100644 index 00000000..9cafc134 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat245.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat246.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat246.uasset new file mode 100644 index 00000000..e340a5be Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat246.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat247.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat247.uasset new file mode 100644 index 00000000..6716582d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat247.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat248.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat248.uasset new file mode 100644 index 00000000..0f91b642 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat248.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat249.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat249.uasset new file mode 100644 index 00000000..b0d887fe Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat249.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat25.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat25.uasset new file mode 100644 index 00000000..c1396022 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat25.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat250.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat250.uasset new file mode 100644 index 00000000..bfc13c01 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat250.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat251.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat251.uasset new file mode 100644 index 00000000..370b4a4f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat251.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat252.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat252.uasset new file mode 100644 index 00000000..7b9d5506 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat252.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat253.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat253.uasset new file mode 100644 index 00000000..767ac9d4 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat253.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat254.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat254.uasset new file mode 100644 index 00000000..780a7c9b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat254.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat255.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat255.uasset new file mode 100644 index 00000000..b37fe667 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat255.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat256.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat256.uasset new file mode 100644 index 00000000..6d0eeb01 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat256.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat257.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat257.uasset new file mode 100644 index 00000000..74f6cbd9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat257.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat258.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat258.uasset new file mode 100644 index 00000000..e3ebfd04 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat258.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat259.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat259.uasset new file mode 100644 index 00000000..8f95d2c8 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat259.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat26.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat26.uasset new file mode 100644 index 00000000..a3064dcf Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat26.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat260.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat260.uasset new file mode 100644 index 00000000..d1ca2348 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat260.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat261.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat261.uasset new file mode 100644 index 00000000..bc4fd228 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat261.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat262.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat262.uasset new file mode 100644 index 00000000..3452b7c9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat262.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat263.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat263.uasset new file mode 100644 index 00000000..89f79950 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat263.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat264.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat264.uasset new file mode 100644 index 00000000..6953e90e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat264.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat265.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat265.uasset new file mode 100644 index 00000000..fe2cd089 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat265.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat266.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat266.uasset new file mode 100644 index 00000000..002475ee Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat266.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat267.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat267.uasset new file mode 100644 index 00000000..a00e80e3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat267.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat268.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat268.uasset new file mode 100644 index 00000000..4d41f25e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat268.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat269.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat269.uasset new file mode 100644 index 00000000..e6392631 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat269.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat27.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat27.uasset new file mode 100644 index 00000000..2c08f4c3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat27.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat270.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat270.uasset new file mode 100644 index 00000000..5c9e896b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat270.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat271.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat271.uasset new file mode 100644 index 00000000..19ac0b12 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat271.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat272.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat272.uasset new file mode 100644 index 00000000..e77a5938 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat272.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat273.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat273.uasset new file mode 100644 index 00000000..2990cd26 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat273.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat274.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat274.uasset new file mode 100644 index 00000000..e7592a66 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat274.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat275.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat275.uasset new file mode 100644 index 00000000..3cfbf8d5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat275.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat276.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat276.uasset new file mode 100644 index 00000000..306b4a5f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat276.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat277.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat277.uasset new file mode 100644 index 00000000..e8d9d1c0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat277.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat278.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat278.uasset new file mode 100644 index 00000000..5abf27aa Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat278.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat279.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat279.uasset new file mode 100644 index 00000000..9dce40ff Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat279.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat28.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat28.uasset new file mode 100644 index 00000000..12031ffa Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat28.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat280.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat280.uasset new file mode 100644 index 00000000..8ece0a2a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat280.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat281.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat281.uasset new file mode 100644 index 00000000..10e345a1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat281.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat282.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat282.uasset new file mode 100644 index 00000000..d62d85e8 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat282.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat283.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat283.uasset new file mode 100644 index 00000000..8b8b8b0a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat283.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat284.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat284.uasset new file mode 100644 index 00000000..0d6d59b6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat284.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat285.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat285.uasset new file mode 100644 index 00000000..8a725680 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat285.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat286.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat286.uasset new file mode 100644 index 00000000..d3996fcd Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat286.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat287.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat287.uasset new file mode 100644 index 00000000..0612c38a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat287.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat288.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat288.uasset new file mode 100644 index 00000000..321c9b94 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat288.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat289.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat289.uasset new file mode 100644 index 00000000..a55a9e90 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat289.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat29.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat29.uasset new file mode 100644 index 00000000..55073009 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat29.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat290.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat290.uasset new file mode 100644 index 00000000..a3dfd34f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat290.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat291.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat291.uasset new file mode 100644 index 00000000..9af99b07 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat291.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat292.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat292.uasset new file mode 100644 index 00000000..11272ab5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat292.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat293.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat293.uasset new file mode 100644 index 00000000..2cf83400 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat293.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat294.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat294.uasset new file mode 100644 index 00000000..a6ec35bf Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat294.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat295.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat295.uasset new file mode 100644 index 00000000..e4ea651b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat295.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat296.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat296.uasset new file mode 100644 index 00000000..fa78cf02 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat296.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat297.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat297.uasset new file mode 100644 index 00000000..9d514024 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat297.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat298.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat298.uasset new file mode 100644 index 00000000..c49bbbda Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat298.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat299.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat299.uasset new file mode 100644 index 00000000..dcaa161d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat299.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat3.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat3.uasset new file mode 100644 index 00000000..797df354 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat3.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat30.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat30.uasset new file mode 100644 index 00000000..7f4466fd Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat30.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat300.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat300.uasset new file mode 100644 index 00000000..513008ea Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat300.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat301.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat301.uasset new file mode 100644 index 00000000..a4e985c5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat301.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat302.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat302.uasset new file mode 100644 index 00000000..c7c473c4 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat302.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat303.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat303.uasset new file mode 100644 index 00000000..e29bed14 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat303.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat304.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat304.uasset new file mode 100644 index 00000000..b5c76537 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat304.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat305.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat305.uasset new file mode 100644 index 00000000..d8295133 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat305.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat306.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat306.uasset new file mode 100644 index 00000000..ebf59931 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat306.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat307.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat307.uasset new file mode 100644 index 00000000..b1f1c8a8 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat307.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat308.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat308.uasset new file mode 100644 index 00000000..3aa2ac40 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat308.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat309.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat309.uasset new file mode 100644 index 00000000..8f74812c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat309.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat31.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat31.uasset new file mode 100644 index 00000000..09bc87b6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat31.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat310.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat310.uasset new file mode 100644 index 00000000..0b32996c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat310.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat311.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat311.uasset new file mode 100644 index 00000000..510b95bb Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat311.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat312.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat312.uasset new file mode 100644 index 00000000..8696264d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat312.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat313.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat313.uasset new file mode 100644 index 00000000..c6b22ac0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat313.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat314.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat314.uasset new file mode 100644 index 00000000..b15fe959 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat314.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat315.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat315.uasset new file mode 100644 index 00000000..f3d83a0b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat315.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat316.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat316.uasset new file mode 100644 index 00000000..decec051 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat316.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat317.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat317.uasset new file mode 100644 index 00000000..226abd3f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat317.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat318.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat318.uasset new file mode 100644 index 00000000..6bab1c11 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat318.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat319.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat319.uasset new file mode 100644 index 00000000..1c6e685f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat319.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat32.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat32.uasset new file mode 100644 index 00000000..f4a00dde Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat32.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat320.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat320.uasset new file mode 100644 index 00000000..e31de328 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat320.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat321.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat321.uasset new file mode 100644 index 00000000..b4982530 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat321.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat322.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat322.uasset new file mode 100644 index 00000000..413b7ce0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat322.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat323.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat323.uasset new file mode 100644 index 00000000..536bcd93 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat323.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat324.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat324.uasset new file mode 100644 index 00000000..fd1e6ef0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat324.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat325.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat325.uasset new file mode 100644 index 00000000..2cf0502b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat325.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat326.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat326.uasset new file mode 100644 index 00000000..514e5298 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat326.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat327.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat327.uasset new file mode 100644 index 00000000..86fe5350 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat327.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat328.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat328.uasset new file mode 100644 index 00000000..5332e3ee Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat328.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat329.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat329.uasset new file mode 100644 index 00000000..36c6bae4 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat329.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat33.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat33.uasset new file mode 100644 index 00000000..8cf01459 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat33.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat330.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat330.uasset new file mode 100644 index 00000000..1d82c608 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat330.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat331.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat331.uasset new file mode 100644 index 00000000..55d9fe09 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat331.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat332.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat332.uasset new file mode 100644 index 00000000..77bdc44b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat332.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat333.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat333.uasset new file mode 100644 index 00000000..39f3e013 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat333.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat334.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat334.uasset new file mode 100644 index 00000000..191ddc07 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat334.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat335.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat335.uasset new file mode 100644 index 00000000..b24f2e2f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat335.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat336.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat336.uasset new file mode 100644 index 00000000..8d435e59 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat336.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat337.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat337.uasset new file mode 100644 index 00000000..d0c40c21 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat337.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat338.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat338.uasset new file mode 100644 index 00000000..701c6c36 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat338.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat339.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat339.uasset new file mode 100644 index 00000000..1b068e84 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat339.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat34.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat34.uasset new file mode 100644 index 00000000..c177252f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat34.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat340.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat340.uasset new file mode 100644 index 00000000..ef27a8ba Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat340.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat341.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat341.uasset new file mode 100644 index 00000000..de878be6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat341.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat342.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat342.uasset new file mode 100644 index 00000000..29b68d3c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat342.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat343.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat343.uasset new file mode 100644 index 00000000..3b2d15d5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat343.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat344.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat344.uasset new file mode 100644 index 00000000..d8d63c1a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat344.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat345.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat345.uasset new file mode 100644 index 00000000..14cd31ce Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat345.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat346.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat346.uasset new file mode 100644 index 00000000..a5e66625 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat346.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat347.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat347.uasset new file mode 100644 index 00000000..6884c084 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat347.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat348.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat348.uasset new file mode 100644 index 00000000..1b6741e5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat348.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat349.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat349.uasset new file mode 100644 index 00000000..f8ddc515 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat349.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat35.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat35.uasset new file mode 100644 index 00000000..f0edf563 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat35.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat350.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat350.uasset new file mode 100644 index 00000000..76535c47 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat350.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat351.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat351.uasset new file mode 100644 index 00000000..a9a7f964 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat351.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat352.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat352.uasset new file mode 100644 index 00000000..c6f0eded Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat352.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat353.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat353.uasset new file mode 100644 index 00000000..2ab6562a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat353.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat354.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat354.uasset new file mode 100644 index 00000000..5af79782 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat354.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat355.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat355.uasset new file mode 100644 index 00000000..08437e02 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat355.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat356.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat356.uasset new file mode 100644 index 00000000..378a2c68 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat356.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat357.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat357.uasset new file mode 100644 index 00000000..36a208be Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat357.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat358.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat358.uasset new file mode 100644 index 00000000..1fa69bec Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat358.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat359.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat359.uasset new file mode 100644 index 00000000..4edf5f58 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat359.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat36.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat36.uasset new file mode 100644 index 00000000..d959f0c6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat36.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat360.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat360.uasset new file mode 100644 index 00000000..14cdd5f0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat360.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat361.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat361.uasset new file mode 100644 index 00000000..96a6988c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat361.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat362.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat362.uasset new file mode 100644 index 00000000..e559750d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat362.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat363.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat363.uasset new file mode 100644 index 00000000..d9264203 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat363.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat364.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat364.uasset new file mode 100644 index 00000000..ad8381d9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat364.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat365.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat365.uasset new file mode 100644 index 00000000..571e11f0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat365.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat366.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat366.uasset new file mode 100644 index 00000000..f0a82741 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat366.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat367.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat367.uasset new file mode 100644 index 00000000..2582566e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat367.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat368.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat368.uasset new file mode 100644 index 00000000..65b7c561 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat368.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat369.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat369.uasset new file mode 100644 index 00000000..923fafd1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat369.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat37.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat37.uasset new file mode 100644 index 00000000..ed3f74c9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat37.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat370.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat370.uasset new file mode 100644 index 00000000..1390b627 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat370.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat371.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat371.uasset new file mode 100644 index 00000000..d53b15d3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat371.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat372.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat372.uasset new file mode 100644 index 00000000..2b3bc7a2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat372.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat373.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat373.uasset new file mode 100644 index 00000000..e451ce4c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat373.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat374.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat374.uasset new file mode 100644 index 00000000..5aaf416f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat374.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat375.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat375.uasset new file mode 100644 index 00000000..32263420 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat375.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat376.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat376.uasset new file mode 100644 index 00000000..1c690d6e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat376.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat377.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat377.uasset new file mode 100644 index 00000000..3b868550 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat377.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat378.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat378.uasset new file mode 100644 index 00000000..43cb4d20 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat378.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat379.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat379.uasset new file mode 100644 index 00000000..a8c5c8f7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat379.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat38.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat38.uasset new file mode 100644 index 00000000..ba6340af Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat38.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat380.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat380.uasset new file mode 100644 index 00000000..86d66f08 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat380.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat381.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat381.uasset new file mode 100644 index 00000000..da3419fb Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat381.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat382.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat382.uasset new file mode 100644 index 00000000..89442565 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat382.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat383.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat383.uasset new file mode 100644 index 00000000..2dfb6e6d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat383.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat384.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat384.uasset new file mode 100644 index 00000000..f19dad87 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat384.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat385.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat385.uasset new file mode 100644 index 00000000..694552ae Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat385.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat386.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat386.uasset new file mode 100644 index 00000000..1c62af36 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat386.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat387.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat387.uasset new file mode 100644 index 00000000..c3f483a4 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat387.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat388.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat388.uasset new file mode 100644 index 00000000..3ceccf13 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat388.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat389.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat389.uasset new file mode 100644 index 00000000..faa1d83c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat389.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat39.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat39.uasset new file mode 100644 index 00000000..57b7ec04 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat39.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat390.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat390.uasset new file mode 100644 index 00000000..c3b75c20 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat390.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat391.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat391.uasset new file mode 100644 index 00000000..e2871ba4 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat391.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat392.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat392.uasset new file mode 100644 index 00000000..b166dbaf Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat392.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat393.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat393.uasset new file mode 100644 index 00000000..75b258ba Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat393.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat394.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat394.uasset new file mode 100644 index 00000000..be4e8ce7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat394.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat395.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat395.uasset new file mode 100644 index 00000000..ec21f598 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat395.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat396.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat396.uasset new file mode 100644 index 00000000..af22c5ac Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat396.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat397.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat397.uasset new file mode 100644 index 00000000..fb4e629f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat397.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat398.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat398.uasset new file mode 100644 index 00000000..ec9d0e1b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat398.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat399.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat399.uasset new file mode 100644 index 00000000..369a751f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat399.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat4.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat4.uasset new file mode 100644 index 00000000..acb8d333 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat4.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat40.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat40.uasset new file mode 100644 index 00000000..4255f3a6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat40.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat400.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat400.uasset new file mode 100644 index 00000000..293f0be2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat400.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat401.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat401.uasset new file mode 100644 index 00000000..83f27a47 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat401.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat402.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat402.uasset new file mode 100644 index 00000000..dfd0fc7e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat402.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat403.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat403.uasset new file mode 100644 index 00000000..d7e9c25e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat403.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat404.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat404.uasset new file mode 100644 index 00000000..fcfbe0bf Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat404.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat405.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat405.uasset new file mode 100644 index 00000000..3e960456 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat405.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat406.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat406.uasset new file mode 100644 index 00000000..ef6c208c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat406.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat407.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat407.uasset new file mode 100644 index 00000000..574cca0e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat407.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat408.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat408.uasset new file mode 100644 index 00000000..89f1cd6d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat408.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat409.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat409.uasset new file mode 100644 index 00000000..015b099f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat409.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat41.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat41.uasset new file mode 100644 index 00000000..85f82254 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat41.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat410.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat410.uasset new file mode 100644 index 00000000..04f5754f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat410.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat411.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat411.uasset new file mode 100644 index 00000000..e0be2b3d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat411.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat412.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat412.uasset new file mode 100644 index 00000000..58f6886f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat412.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat413.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat413.uasset new file mode 100644 index 00000000..88c2ff66 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat413.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat414.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat414.uasset new file mode 100644 index 00000000..ff475840 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat414.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat415.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat415.uasset new file mode 100644 index 00000000..45796247 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat415.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat416.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat416.uasset new file mode 100644 index 00000000..192dbd84 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat416.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat417.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat417.uasset new file mode 100644 index 00000000..796942ab Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat417.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat418.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat418.uasset new file mode 100644 index 00000000..0e351d1e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat418.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat419.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat419.uasset new file mode 100644 index 00000000..44c25c47 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat419.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat42.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat42.uasset new file mode 100644 index 00000000..f593ba3e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat42.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat420.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat420.uasset new file mode 100644 index 00000000..6da44101 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat420.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat421.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat421.uasset new file mode 100644 index 00000000..b1eb33b5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat421.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat422.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat422.uasset new file mode 100644 index 00000000..9794cc75 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat422.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat423.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat423.uasset new file mode 100644 index 00000000..6b626779 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat423.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat424.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat424.uasset new file mode 100644 index 00000000..c7ab4318 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat424.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat425.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat425.uasset new file mode 100644 index 00000000..d7a452a0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat425.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat426.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat426.uasset new file mode 100644 index 00000000..fa8d2155 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat426.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat427.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat427.uasset new file mode 100644 index 00000000..eac76538 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat427.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat428.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat428.uasset new file mode 100644 index 00000000..2c70e924 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat428.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat429.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat429.uasset new file mode 100644 index 00000000..3a3c631f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat429.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat43.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat43.uasset new file mode 100644 index 00000000..bb1edb4a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat43.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat430.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat430.uasset new file mode 100644 index 00000000..a84d5040 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat430.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat431.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat431.uasset new file mode 100644 index 00000000..35c61eda Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat431.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat432.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat432.uasset new file mode 100644 index 00000000..c79c83fc Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat432.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat433.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat433.uasset new file mode 100644 index 00000000..b5b7f75a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat433.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat434.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat434.uasset new file mode 100644 index 00000000..cc3b3255 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat434.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat435.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat435.uasset new file mode 100644 index 00000000..4018b735 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat435.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat436.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat436.uasset new file mode 100644 index 00000000..2e719f2c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat436.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat437.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat437.uasset new file mode 100644 index 00000000..62967403 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat437.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat438.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat438.uasset new file mode 100644 index 00000000..ca738aa3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat438.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat439.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat439.uasset new file mode 100644 index 00000000..36af3a52 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat439.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat44.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat44.uasset new file mode 100644 index 00000000..d2cfe25b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat44.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat440.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat440.uasset new file mode 100644 index 00000000..ae3bb462 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat440.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat441.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat441.uasset new file mode 100644 index 00000000..d7e60329 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat441.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat442.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat442.uasset new file mode 100644 index 00000000..491ecc37 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat442.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat443.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat443.uasset new file mode 100644 index 00000000..6127727c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat443.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat444.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat444.uasset new file mode 100644 index 00000000..8823904f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat444.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat445.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat445.uasset new file mode 100644 index 00000000..fdd95aa7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat445.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat446.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat446.uasset new file mode 100644 index 00000000..2bd07011 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat446.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat447.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat447.uasset new file mode 100644 index 00000000..4147ba5c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat447.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat448.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat448.uasset new file mode 100644 index 00000000..f70bc4a7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat448.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat449.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat449.uasset new file mode 100644 index 00000000..3dfdec5a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat449.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat45.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat45.uasset new file mode 100644 index 00000000..786d6c94 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat45.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat450.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat450.uasset new file mode 100644 index 00000000..33bef816 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat450.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat451.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat451.uasset new file mode 100644 index 00000000..1b6c5164 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat451.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat452.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat452.uasset new file mode 100644 index 00000000..b8a382ad Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat452.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat453.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat453.uasset new file mode 100644 index 00000000..29958819 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat453.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat454.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat454.uasset new file mode 100644 index 00000000..afe4efa0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat454.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat455.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat455.uasset new file mode 100644 index 00000000..ee2e8a75 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat455.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat456.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat456.uasset new file mode 100644 index 00000000..f7c21a5e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat456.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat457.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat457.uasset new file mode 100644 index 00000000..2be1c53e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat457.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat458.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat458.uasset new file mode 100644 index 00000000..e0027ac5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat458.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat459.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat459.uasset new file mode 100644 index 00000000..a2201d38 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat459.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat46.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat46.uasset new file mode 100644 index 00000000..a1353cc3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat46.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat460.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat460.uasset new file mode 100644 index 00000000..cc7de794 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat460.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat461.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat461.uasset new file mode 100644 index 00000000..f8c0fdd0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat461.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat462.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat462.uasset new file mode 100644 index 00000000..cd1448b3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat462.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat463.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat463.uasset new file mode 100644 index 00000000..3b2d827d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat463.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat464.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat464.uasset new file mode 100644 index 00000000..6028b224 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat464.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat465.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat465.uasset new file mode 100644 index 00000000..982656ee Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat465.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat466.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat466.uasset new file mode 100644 index 00000000..a26d5bc7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat466.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat467.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat467.uasset new file mode 100644 index 00000000..d822a1ae Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat467.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat468.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat468.uasset new file mode 100644 index 00000000..dd26785a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat468.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat469.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat469.uasset new file mode 100644 index 00000000..51a63a85 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat469.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat47.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat47.uasset new file mode 100644 index 00000000..bbfc46bc Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat47.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat470.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat470.uasset new file mode 100644 index 00000000..732a7e3d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat470.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat471.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat471.uasset new file mode 100644 index 00000000..d470d870 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat471.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat472.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat472.uasset new file mode 100644 index 00000000..c1774e0c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat472.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat473.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat473.uasset new file mode 100644 index 00000000..65fb1d5d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat473.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat474.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat474.uasset new file mode 100644 index 00000000..ed51f4e2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat474.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat475.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat475.uasset new file mode 100644 index 00000000..f258f912 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat475.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat476.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat476.uasset new file mode 100644 index 00000000..098d5ae5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat476.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat477.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat477.uasset new file mode 100644 index 00000000..cb80d440 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat477.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat478.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat478.uasset new file mode 100644 index 00000000..ba5ee4b1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat478.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat479.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat479.uasset new file mode 100644 index 00000000..716510fa Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat479.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat48.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat48.uasset new file mode 100644 index 00000000..92893fdd Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat48.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat480.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat480.uasset new file mode 100644 index 00000000..f6359d66 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat480.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat481.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat481.uasset new file mode 100644 index 00000000..6b264fd1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat481.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat482.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat482.uasset new file mode 100644 index 00000000..f828def7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat482.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat483.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat483.uasset new file mode 100644 index 00000000..8c1953b4 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat483.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat484.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat484.uasset new file mode 100644 index 00000000..9c93cf9f Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat484.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat485.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat485.uasset new file mode 100644 index 00000000..7aefb8dd Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat485.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat486.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat486.uasset new file mode 100644 index 00000000..8b365f73 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat486.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat487.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat487.uasset new file mode 100644 index 00000000..15eafe07 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat487.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat488.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat488.uasset new file mode 100644 index 00000000..9b60d488 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat488.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat489.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat489.uasset new file mode 100644 index 00000000..0c5d6d9b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat489.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat49.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat49.uasset new file mode 100644 index 00000000..1d0cd4e9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat49.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat490.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat490.uasset new file mode 100644 index 00000000..9ad26a56 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat490.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat491.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat491.uasset new file mode 100644 index 00000000..984623c8 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat491.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat492.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat492.uasset new file mode 100644 index 00000000..368ab44a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat492.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat493.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat493.uasset new file mode 100644 index 00000000..269ede29 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat493.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat494.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat494.uasset new file mode 100644 index 00000000..971faa03 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat494.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat495.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat495.uasset new file mode 100644 index 00000000..681d3302 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat495.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat496.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat496.uasset new file mode 100644 index 00000000..3efb3e99 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat496.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat497.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat497.uasset new file mode 100644 index 00000000..3557829c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat497.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat498.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat498.uasset new file mode 100644 index 00000000..b2133274 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat498.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat499.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat499.uasset new file mode 100644 index 00000000..4aba19e2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat499.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat5.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat5.uasset new file mode 100644 index 00000000..ae0433e6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat5.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat50.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat50.uasset new file mode 100644 index 00000000..3fbf75eb Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat50.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat500.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat500.uasset new file mode 100644 index 00000000..5b00d1a1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat500.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat501.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat501.uasset new file mode 100644 index 00000000..47a13960 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat501.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat502.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat502.uasset new file mode 100644 index 00000000..d9e3140c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat502.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat503.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat503.uasset new file mode 100644 index 00000000..c1faaae7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat503.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat504.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat504.uasset new file mode 100644 index 00000000..a54da53e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat504.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat505.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat505.uasset new file mode 100644 index 00000000..6c9e6bfd Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat505.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat506.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat506.uasset new file mode 100644 index 00000000..86270aca Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat506.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat507.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat507.uasset new file mode 100644 index 00000000..050c8084 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat507.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat508.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat508.uasset new file mode 100644 index 00000000..e4d8ec24 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat508.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat509.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat509.uasset new file mode 100644 index 00000000..d8b0122a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat509.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat51.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat51.uasset new file mode 100644 index 00000000..ab7991a2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat51.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat510.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat510.uasset new file mode 100644 index 00000000..d133b8b0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat510.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat511.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat511.uasset new file mode 100644 index 00000000..7d5982f2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat511.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat512.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat512.uasset new file mode 100644 index 00000000..e75e90f2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat512.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat513.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat513.uasset new file mode 100644 index 00000000..53023175 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat513.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat514.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat514.uasset new file mode 100644 index 00000000..e675bdf2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat514.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat515.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat515.uasset new file mode 100644 index 00000000..fe318ba1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat515.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat516.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat516.uasset new file mode 100644 index 00000000..3591e15a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat516.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat517.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat517.uasset new file mode 100644 index 00000000..f596e039 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat517.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat518.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat518.uasset new file mode 100644 index 00000000..518cdcd9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat518.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat519.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat519.uasset new file mode 100644 index 00000000..a2987433 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat519.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat52.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat52.uasset new file mode 100644 index 00000000..7ab8b2f8 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat52.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat520.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat520.uasset new file mode 100644 index 00000000..8fd237fc Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat520.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat521.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat521.uasset new file mode 100644 index 00000000..69245a71 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat521.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat522.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat522.uasset new file mode 100644 index 00000000..247cdf87 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat522.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat523.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat523.uasset new file mode 100644 index 00000000..454788ed Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat523.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat524.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat524.uasset new file mode 100644 index 00000000..d7f7fe5e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat524.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat525.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat525.uasset new file mode 100644 index 00000000..966466a2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat525.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat526.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat526.uasset new file mode 100644 index 00000000..0be77963 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat526.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat527.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat527.uasset new file mode 100644 index 00000000..cd822f82 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat527.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat528.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat528.uasset new file mode 100644 index 00000000..cf70a4cd Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat528.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat529.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat529.uasset new file mode 100644 index 00000000..eea63d74 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat529.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat53.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat53.uasset new file mode 100644 index 00000000..90ccf7eb Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat53.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat530.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat530.uasset new file mode 100644 index 00000000..709a004b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat530.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat531.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat531.uasset new file mode 100644 index 00000000..a210a1b0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat531.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat532.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat532.uasset new file mode 100644 index 00000000..f282ad8a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat532.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat533.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat533.uasset new file mode 100644 index 00000000..84827d05 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat533.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat534.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat534.uasset new file mode 100644 index 00000000..8a0b49a1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat534.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat535.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat535.uasset new file mode 100644 index 00000000..06b3175a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat535.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat536.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat536.uasset new file mode 100644 index 00000000..05fcc952 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat536.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat537.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat537.uasset new file mode 100644 index 00000000..aac5c26e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat537.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat538.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat538.uasset new file mode 100644 index 00000000..6d4443f0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat538.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat539.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat539.uasset new file mode 100644 index 00000000..0e1673b7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat539.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat54.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat54.uasset new file mode 100644 index 00000000..6df9707c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat54.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat540.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat540.uasset new file mode 100644 index 00000000..0aa81744 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat540.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat541.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat541.uasset new file mode 100644 index 00000000..419071c1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat541.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat55.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat55.uasset new file mode 100644 index 00000000..b65297dd Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat55.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat56.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat56.uasset new file mode 100644 index 00000000..da8a1ef9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat56.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat57.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat57.uasset new file mode 100644 index 00000000..714c6481 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat57.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat58.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat58.uasset new file mode 100644 index 00000000..33b2cf87 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat58.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat59.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat59.uasset new file mode 100644 index 00000000..b87a7387 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat59.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat6.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat6.uasset new file mode 100644 index 00000000..41d22aa3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat6.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat60.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat60.uasset new file mode 100644 index 00000000..26d779b2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat60.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat61.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat61.uasset new file mode 100644 index 00000000..6f505d53 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat61.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat62.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat62.uasset new file mode 100644 index 00000000..531331a6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat62.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat63.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat63.uasset new file mode 100644 index 00000000..52333419 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat63.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat64.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat64.uasset new file mode 100644 index 00000000..93fdea8e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat64.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat65.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat65.uasset new file mode 100644 index 00000000..33d3c792 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat65.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat66.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat66.uasset new file mode 100644 index 00000000..473cc283 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat66.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat67.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat67.uasset new file mode 100644 index 00000000..f8ef6524 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat67.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat68.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat68.uasset new file mode 100644 index 00000000..aa3ef6b9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat68.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat69.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat69.uasset new file mode 100644 index 00000000..a20d0fd1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat69.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat7.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat7.uasset new file mode 100644 index 00000000..68f688c7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat7.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat70.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat70.uasset new file mode 100644 index 00000000..bc072eea Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat70.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat71.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat71.uasset new file mode 100644 index 00000000..4da53f48 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat71.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat72.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat72.uasset new file mode 100644 index 00000000..ed1a33c6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat72.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat73.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat73.uasset new file mode 100644 index 00000000..e045fc18 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat73.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat74.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat74.uasset new file mode 100644 index 00000000..7c43be62 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat74.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat75.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat75.uasset new file mode 100644 index 00000000..4c2e4c09 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat75.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat76.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat76.uasset new file mode 100644 index 00000000..f096f312 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat76.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat77.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat77.uasset new file mode 100644 index 00000000..ab558885 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat77.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat78.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat78.uasset new file mode 100644 index 00000000..82124561 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat78.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat79.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat79.uasset new file mode 100644 index 00000000..de585bd6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat79.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat8.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat8.uasset new file mode 100644 index 00000000..272ef680 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat8.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat80.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat80.uasset new file mode 100644 index 00000000..d1d90ef1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat80.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat81.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat81.uasset new file mode 100644 index 00000000..f9c003e7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat81.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat82.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat82.uasset new file mode 100644 index 00000000..a1839413 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat82.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat83.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat83.uasset new file mode 100644 index 00000000..0fea5233 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat83.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat84.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat84.uasset new file mode 100644 index 00000000..895b30dd Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat84.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat85.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat85.uasset new file mode 100644 index 00000000..4d8741b2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat85.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat86.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat86.uasset new file mode 100644 index 00000000..a9a21c00 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat86.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat87.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat87.uasset new file mode 100644 index 00000000..854de8df Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat87.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat88.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat88.uasset new file mode 100644 index 00000000..893f80aa Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat88.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat89.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat89.uasset new file mode 100644 index 00000000..b3e2e3a2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat89.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat9.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat9.uasset new file mode 100644 index 00000000..aa7827af Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat9.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat90.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat90.uasset new file mode 100644 index 00000000..8f01fd07 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat90.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat91.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat91.uasset new file mode 100644 index 00000000..b309b652 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat91.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat92.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat92.uasset new file mode 100644 index 00000000..93141713 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat92.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat93.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat93.uasset new file mode 100644 index 00000000..20a3da1b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat93.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat94.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat94.uasset new file mode 100644 index 00000000..067c2e82 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat94.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat95.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat95.uasset new file mode 100644 index 00000000..d7acef67 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat95.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat96.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat96.uasset new file mode 100644 index 00000000..696f020e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat96.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat97.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat97.uasset new file mode 100644 index 00000000..711db110 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat97.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat98.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat98.uasset new file mode 100644 index 00000000..0ddd4bb9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat98.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat99.uasset b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat99.uasset new file mode 100644 index 00000000..6b82c130 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Flats_PNG/section2/Flat99.uasset differ diff --git a/Content/Blueprints/UI/Imgs/License.uasset b/Content/Blueprints/UI/Imgs/License.uasset new file mode 100644 index 00000000..357027d5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/License.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/PointInfrastructureBase.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/PointInfrastructureBase.uasset new file mode 100644 index 00000000..179255df Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Points/Infrastructure/PointInfrastructureBase.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Base.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Base.uasset new file mode 100644 index 00000000..56c9a251 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Base.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Aviator.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Aviator.uasset new file mode 100644 index 00000000..5fac863b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Aviator.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Forward.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Forward.uasset new file mode 100644 index 00000000..23e24d20 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Forward.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Perspectiva.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Perspectiva.uasset new file mode 100644 index 00000000..d157c18e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Perspectiva.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Urbanist.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Urbanist.uasset new file mode 100644 index 00000000..a080ed4e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Urbanist.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Viktoria.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Viktoria.uasset new file mode 100644 index 00000000..4316c68c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/Viktoria.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/colorsOfRainbow_Right.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/colorsOfRainbow_Right.uasset new file mode 100644 index 00000000..00943dee Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/colorsOfRainbow_Right.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/colorsofrainbow.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/colorsofrainbow.uasset new file mode 100644 index 00000000..d3baf7ad Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Points/Infrastructure/zhks/Logos/colorsofrainbow.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/Временные_поинты/Group_743.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/Временные_поинты/Group_743.uasset deleted file mode 100644 index 1833240b..00000000 Binary files a/Content/Blueprints/UI/Imgs/Points/Infrastructure/Временные_поинты/Group_743.uasset and /dev/null differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/Временные_поинты/Group_745.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/Временные_поинты/Group_745.uasset deleted file mode 100644 index 582085c5..00000000 Binary files a/Content/Blueprints/UI/Imgs/Points/Infrastructure/Временные_поинты/Group_745.uasset and /dev/null differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/Временные_поинты/Group_807.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/Временные_поинты/Group_807.uasset deleted file mode 100644 index a8aff270..00000000 Binary files a/Content/Blueprints/UI/Imgs/Points/Infrastructure/Временные_поинты/Group_807.uasset and /dev/null differ diff --git a/Content/Blueprints/UI/Imgs/Points/Infrastructure/Временные_поинты/Group_808.uasset b/Content/Blueprints/UI/Imgs/Points/Infrastructure/Временные_поинты/Group_808.uasset deleted file mode 100644 index 8f547c24..00000000 Binary files a/Content/Blueprints/UI/Imgs/Points/Infrastructure/Временные_поинты/Group_808.uasset and /dev/null differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/ComplexView/MapBase_HouseView1.uasset b/Content/Blueprints/UI/Imgs/VR_Components/ComplexView/MapBase_HouseView1.uasset new file mode 100644 index 00000000..f1cffd74 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/ComplexView/MapBase_HouseView1.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K1S1.uasset b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K1S1.uasset index 54c83531..391e8b8e 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K1S1.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K1S1.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K1S2.uasset b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K1S2.uasset index fe94f332..eb467cb2 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K1S2.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K1S2.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K1S3.uasset b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K1S3.uasset index 1ed84d93..f6d0b53d 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K1S3.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K1S3.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K2S1.uasset b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K2S1.uasset new file mode 100644 index 00000000..c8e1adfc Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K2S1.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K2S2.uasset b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K2S2.uasset new file mode 100644 index 00000000..f47617c3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K2S2.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K2S3.uasset b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K2S3.uasset new file mode 100644 index 00000000..d2db737c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/K2S3.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/MainButtonsBase.uasset b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/MainButtonsBase.uasset index d8c44ede..ed451976 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/MainButtonsBase.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/MainButtonsBase.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/MapBase_HouseView.uasset b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/MapBase_HouseView.uasset index a4e5cb18..3ef2a7ff 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/MapBase_HouseView.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/MapBase_HouseView.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/SectionButtons/hover.uasset b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/SectionButtons/hover.uasset new file mode 100644 index 00000000..f44923fe Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/SectionButtons/hover.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/SectionButtons/main-2.uasset b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/SectionButtons/main-2.uasset new file mode 100644 index 00000000..3af33e25 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/SectionButtons/main-2.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/HouseView/SectionButtons/pressed.uasset b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/SectionButtons/pressed.uasset new file mode 100644 index 00000000..019f7436 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/HouseView/SectionButtons/pressed.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E02.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E02.uasset index 89a6bf91..b7b0c753 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E02.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E02.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E03.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E03.uasset index 696151c7..41c89dc7 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E03.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E03.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E04.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E04.uasset index c45e877d..0b17e07a 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E04.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E04.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E05.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E05.uasset index b78a7a13..1a0d31bb 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E05.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E05.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E06.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E06.uasset index c745265e..4581afbf 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E06.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E06.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E07.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E07.uasset index 6c213c68..0bdcad8e 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E07.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E07.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E08.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E08.uasset index 099fd3dc..14df73f4 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E08.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E08.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E09.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E09.uasset index 668cd7f2..e14e1ccf 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E09.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E09.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E10.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E10.uasset index 937befe3..96bd5579 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E10.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E10.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E11.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E11.uasset index f0e7da3e..c43845a5 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E11.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E11.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E12.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E12.uasset index b8db1fdc..3519b181 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E12.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E12.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E13.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E13.uasset index f74d7ec9..841268b2 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E13.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E13.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E14.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E14.uasset index 608abe93..22cd06b3 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E14.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E14.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E15.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E15.uasset index 2fcb5040..111237be 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E15.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E15.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E16.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E16.uasset index 328d6bd0..28630d15 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E16.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E16.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E17.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E17.uasset index 0522ce91..5071170b 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E17.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E17.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E18.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E18.uasset index 5551f86a..2de32c5c 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E18.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section1/K1S1E18.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E02.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E02.uasset index 8aa49760..2c9555e0 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E02.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E02.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E03.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E03.uasset index 2db38698..e9802140 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E03.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E03.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E04.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E04.uasset index ce9f58b2..a49d7cc9 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E04.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E04.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E05.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E05.uasset index 3805f38f..20cd296f 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E05.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E05.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E06.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E06.uasset index f42d6588..6dcd5eac 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E06.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E06.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E07.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E07.uasset index 70d7a692..df5d7163 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E07.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E07.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E08.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E08.uasset index f798c28f..54f86061 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E08.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E08.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E09.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E09.uasset index 3a8d9cc0..ff13f443 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E09.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E09.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E10.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E10.uasset index 05dbd424..cd62ad76 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E10.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E10.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E11.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E11.uasset index dd003fb9..4c6f0c90 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E11.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E11.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E12.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E12.uasset index 7c02a1c4..a8c0b680 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E12.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E12.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E13.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E13.uasset index c401c4bc..a548c96a 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E13.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E13.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E14.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E14.uasset index 0d831363..8fe75c7a 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E14.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E14.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E15.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E15.uasset index 089a8ddb..681cac63 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E15.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E15.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E16.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E16.uasset index aa1e7193..2580c467 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E16.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E16.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E17.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E17.uasset index 7e42440b..b2236899 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E17.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E17.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E18.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E18.uasset index 5dda4f5f..3a751ead 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E18.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2/K1S2E18.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E02.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E02.uasset new file mode 100644 index 00000000..8d3438d6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E02.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E03.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E03.uasset new file mode 100644 index 00000000..8eb269ca Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E03.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E04.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E04.uasset new file mode 100644 index 00000000..f0f6026b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E04.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E05.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E05.uasset new file mode 100644 index 00000000..1a414871 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E05.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E06.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E06.uasset new file mode 100644 index 00000000..fd75fd79 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E06.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E07.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E07.uasset new file mode 100644 index 00000000..45b8f620 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E07.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E08.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E08.uasset new file mode 100644 index 00000000..75ff59e3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E08.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E09.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E09.uasset new file mode 100644 index 00000000..c2a7fdd4 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E09.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E10.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E10.uasset new file mode 100644 index 00000000..31b1f96a Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E10.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E11.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E11.uasset new file mode 100644 index 00000000..3e31d0ef Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E11.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E12.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E12.uasset new file mode 100644 index 00000000..782603f4 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E12.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E13.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E13.uasset new file mode 100644 index 00000000..ccb290dd Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E13.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E14.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E14.uasset new file mode 100644 index 00000000..495c0b7d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E14.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E15.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E15.uasset new file mode 100644 index 00000000..07053313 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E15.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E16.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E16.uasset new file mode 100644 index 00000000..e2a727b5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E16.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E17.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E17.uasset new file mode 100644 index 00000000..5dbc85cf Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E17.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E18.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E18.uasset new file mode 100644 index 00000000..d6e54073 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_1/K2S1E18.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E01.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E01.uasset new file mode 100644 index 00000000..552d35e4 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E01.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E02.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E02.uasset new file mode 100644 index 00000000..0379bc79 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E02.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E03.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E03.uasset new file mode 100644 index 00000000..7c720352 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E03.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E04.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E04.uasset new file mode 100644 index 00000000..9a40805b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E04.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E05.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E05.uasset new file mode 100644 index 00000000..8014e215 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E05.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E06.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E06.uasset new file mode 100644 index 00000000..f9b2e515 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E06.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E07.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E07.uasset new file mode 100644 index 00000000..6df9feb8 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E07.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E08.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E08.uasset new file mode 100644 index 00000000..878d0604 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E08.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E09.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E09.uasset new file mode 100644 index 00000000..b11947e0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E09.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E10.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E10.uasset new file mode 100644 index 00000000..9b289334 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E10.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E11.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E11.uasset new file mode 100644 index 00000000..f4d9eb52 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E11.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E12.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E12.uasset new file mode 100644 index 00000000..00eea127 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E12.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E13.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E13.uasset new file mode 100644 index 00000000..2c32ce48 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E13.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E14.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E14.uasset new file mode 100644 index 00000000..0fd7251b Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E14.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E15.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E15.uasset new file mode 100644 index 00000000..be33acc9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E15.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E16.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E16.uasset new file mode 100644 index 00000000..6209b17e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E16.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E17.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E17.uasset new file mode 100644 index 00000000..0f0cad0d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E17.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E18.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E18.uasset new file mode 100644 index 00000000..8f8b7fba Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section2_2/K2S2E18.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E02.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E02.uasset index 8fad3c1c..6ca00c6e 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E02.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E02.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E03.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E03.uasset index c46d9e68..c0cedcfe 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E03.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E03.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E04.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E04.uasset index 0369e7ef..2121f9fa 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E04.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E04.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E05.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E05.uasset index 4885e9c8..0903f864 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E05.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E05.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E06.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E06.uasset index 49f30f4f..779b6fb7 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E06.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E06.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E07.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E07.uasset index 787e76e5..4fb3d3fc 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E07.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E07.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E08.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E08.uasset index 807e4d91..d024e20f 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E08.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E08.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E09.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E09.uasset index 2af4b756..b4307d98 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E09.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E09.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E10.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E10.uasset index 20cf7e6e..476176df 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E10.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E10.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E11.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E11.uasset index ea633aaa..f67a10ec 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E11.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E11.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E12.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E12.uasset index f334caf0..2fb9ef2d 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E12.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E12.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E13.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E13.uasset index f612099f..5db100fa 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E13.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E13.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E14.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E14.uasset index 69293474..cb94d6f8 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E14.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E14.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E15.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E15.uasset index 21e36cf6..fcf1e1a3 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E15.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E15.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E16.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E16.uasset index bc91deec..c75c766e 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E16.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E16.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E17.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E17.uasset index 01e64428..538be5e2 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E17.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E17.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E18.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E18.uasset index 84ccafca..576cbad2 100644 Binary files a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E18.uasset and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section3/K1S3E18.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E01.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E01.uasset new file mode 100644 index 00000000..af36334e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E01.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E02.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E02.uasset new file mode 100644 index 00000000..188562a7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E02.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E03.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E03.uasset new file mode 100644 index 00000000..8a04659e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E03.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E04.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E04.uasset new file mode 100644 index 00000000..5ff32ef9 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E04.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E05.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E05.uasset new file mode 100644 index 00000000..e1317ed5 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E05.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E06.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E06.uasset new file mode 100644 index 00000000..d35a564d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E06.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E07.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E07.uasset new file mode 100644 index 00000000..46b6f707 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E07.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E08.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E08.uasset new file mode 100644 index 00000000..33074779 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E08.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E09.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E09.uasset new file mode 100644 index 00000000..cc4e7ca3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E09.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E10.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E10.uasset new file mode 100644 index 00000000..21fc56df Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E10.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E11.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E11.uasset new file mode 100644 index 00000000..f215cfb0 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E11.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E12.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E12.uasset new file mode 100644 index 00000000..831d23f1 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E12.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E13.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E13.uasset new file mode 100644 index 00000000..293d625c Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E13.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E14.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E14.uasset new file mode 100644 index 00000000..574da473 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E14.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E15.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E15.uasset new file mode 100644 index 00000000..e507e9f6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E15.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E16.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E16.uasset new file mode 100644 index 00000000..734aab47 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E16.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E17.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E17.uasset new file mode 100644 index 00000000..4240c7da Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E17.uasset differ diff --git a/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E18.uasset b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E18.uasset new file mode 100644 index 00000000..a5987f32 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/VR_Components/Plans_Floor/Section4/K1S4E18.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-1.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-1.uasset new file mode 100644 index 00000000..3e1a74f2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-1.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-2.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-2.uasset new file mode 100644 index 00000000..d37f3426 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-2.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-3.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-3.uasset new file mode 100644 index 00000000..64399c6e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-3.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-4.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-4.uasset new file mode 100644 index 00000000..8696fd83 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-4.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-5.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-5.uasset new file mode 100644 index 00000000..fc3f4385 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween-5.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween.uasset new file mode 100644 index 00000000..eeb687d3 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionBetween.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionFirst-1.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionFirst-1.uasset new file mode 100644 index 00000000..99e4321e Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionFirst-1.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionFirst-2.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionFirst-2.uasset new file mode 100644 index 00000000..a50365d2 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionFirst-2.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionFirst.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionFirst.uasset new file mode 100644 index 00000000..8011aac6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionFirst.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionLast-1.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionLast-1.uasset new file mode 100644 index 00000000..bb935028 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionLast-1.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionLast-2.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionLast-2.uasset new file mode 100644 index 00000000..4765d00d Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionLast-2.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionLast.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionLast.uasset new file mode 100644 index 00000000..da89dacf Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/BtSectionLast.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/btsec3dis.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/btsec3dis.uasset new file mode 100644 index 00000000..ad3d36ed Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/Filter/Btns/sec4/btsec3dis.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/FilterRollUp/AddModule/Btns/1_level.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/FilterRollUp/AddModule/Btns/1_level.uasset new file mode 100644 index 00000000..bf674be6 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/FilterRollUp/AddModule/Btns/1_level.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/FilterRollUp/AddModule/Btns/2_level.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/FilterRollUp/AddModule/Btns/2_level.uasset new file mode 100644 index 00000000..da1e2128 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/FilterRollUp/AddModule/Btns/2_level.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/FilterRollUp/AddModule/FlatLevel.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/FilterRollUp/AddModule/FlatLevel.uasset new file mode 100644 index 00000000..90d1d0e7 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/FilterRollUp/AddModule/FlatLevel.uasset differ diff --git a/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/FilterRollUp/Btns/FlatlLevelBaseWithText.uasset b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/FilterRollUp/Btns/FlatlLevelBaseWithText.uasset new file mode 100644 index 00000000..31080c20 Binary files /dev/null and b/Content/Blueprints/UI/Imgs/Windows/Filter_Favoriets/FilterRollUp/Btns/FlatlLevelBaseWithText.uasset differ diff --git a/Content/Blueprints/UI/Others/FlatData.uasset b/Content/Blueprints/UI/Others/FlatData.uasset index dbaab6f0..b2d19850 100644 Binary files a/Content/Blueprints/UI/Others/FlatData.uasset and b/Content/Blueprints/UI/Others/FlatData.uasset differ diff --git a/Content/Blueprints/UI/Others/flattgsData.uasset b/Content/Blueprints/UI/Others/flattgsData.uasset index 10a6d4d3..8ab0fcc5 100644 Binary files a/Content/Blueprints/UI/Others/flattgsData.uasset and b/Content/Blueprints/UI/Others/flattgsData.uasset differ diff --git a/Content/Blueprints/UI/WBPS/KPWidget.uasset b/Content/Blueprints/UI/WBPS/KPWidget.uasset index e69c9447..6d1be3c3 100644 Binary files a/Content/Blueprints/UI/WBPS/KPWidget.uasset and b/Content/Blueprints/UI/WBPS/KPWidget.uasset differ diff --git a/Content/Blueprints/UI/WBPS/Menu/MainMenu.uasset b/Content/Blueprints/UI/WBPS/Menu/MainMenu.uasset index 58fb4d5a..47caed66 100644 Binary files a/Content/Blueprints/UI/WBPS/Menu/MainMenu.uasset and b/Content/Blueprints/UI/WBPS/Menu/MainMenu.uasset differ diff --git a/Content/Blueprints/UI/WBPS/Menu/MenuBtn.uasset b/Content/Blueprints/UI/WBPS/Menu/MenuBtn.uasset index 604ea60a..4fc73336 100644 Binary files a/Content/Blueprints/UI/WBPS/Menu/MenuBtn.uasset and b/Content/Blueprints/UI/WBPS/Menu/MenuBtn.uasset differ diff --git a/Content/Blueprints/UI/WBPS/Menu/SideMenu.uasset b/Content/Blueprints/UI/WBPS/Menu/SideMenu.uasset index 274c1e84..8cee76e1 100644 Binary files a/Content/Blueprints/UI/WBPS/Menu/SideMenu.uasset and b/Content/Blueprints/UI/WBPS/Menu/SideMenu.uasset differ diff --git a/Content/Blueprints/UI/WBPS/Menu/sessionEnd.uasset b/Content/Blueprints/UI/WBPS/Menu/sessionEnd.uasset index ec5211c8..8758083c 100644 Binary files a/Content/Blueprints/UI/WBPS/Menu/sessionEnd.uasset and b/Content/Blueprints/UI/WBPS/Menu/sessionEnd.uasset differ diff --git a/Content/Blueprints/UI/WBPS/Menu/welcomeData.uasset b/Content/Blueprints/UI/WBPS/Menu/welcomeData.uasset index e881ffcb..11cd5df2 100644 Binary files a/Content/Blueprints/UI/WBPS/Menu/welcomeData.uasset and b/Content/Blueprints/UI/WBPS/Menu/welcomeData.uasset differ diff --git a/Content/Blueprints/UI/WBPS/Pointers/FlatPointer.uasset b/Content/Blueprints/UI/WBPS/Pointers/FlatPointer.uasset index 2954891d..8052bd2c 100644 Binary files a/Content/Blueprints/UI/WBPS/Pointers/FlatPointer.uasset and b/Content/Blueprints/UI/WBPS/Pointers/FlatPointer.uasset differ diff --git a/Content/Blueprints/UI/WBPS/Pointers/FloorPointer.uasset b/Content/Blueprints/UI/WBPS/Pointers/FloorPointer.uasset index 7bbf39fb..ddee7310 100644 Binary files a/Content/Blueprints/UI/WBPS/Pointers/FloorPointer.uasset and b/Content/Blueprints/UI/WBPS/Pointers/FloorPointer.uasset differ diff --git a/Content/Blueprints/UI/WBPS/Pointers/InfraPointer.uasset b/Content/Blueprints/UI/WBPS/Pointers/InfraPointer.uasset index 5107e3dd..b656e136 100644 Binary files a/Content/Blueprints/UI/WBPS/Pointers/InfraPointer.uasset and b/Content/Blueprints/UI/WBPS/Pointers/InfraPointer.uasset differ diff --git a/Content/Blueprints/UI/WBPS/Pointers/InfraPointerSimple.uasset b/Content/Blueprints/UI/WBPS/Pointers/InfraPointerSimple.uasset new file mode 100644 index 00000000..3016fc7f Binary files /dev/null and b/Content/Blueprints/UI/WBPS/Pointers/InfraPointerSimple.uasset differ diff --git a/Content/Blueprints/UI/WBPS/VR/VRfloorBtn.uasset b/Content/Blueprints/UI/WBPS/VR/VRfloorBtn.uasset index 92b6b23a..fcc6b129 100644 Binary files a/Content/Blueprints/UI/WBPS/VR/VRfloorBtn.uasset and b/Content/Blueprints/UI/WBPS/VR/VRfloorBtn.uasset differ diff --git a/Content/Blueprints/UI/WBPS/VR/VRmainWin.uasset b/Content/Blueprints/UI/WBPS/VR/VRmainWin.uasset index 36221912..6058facb 100644 Binary files a/Content/Blueprints/UI/WBPS/VR/VRmainWin.uasset and b/Content/Blueprints/UI/WBPS/VR/VRmainWin.uasset differ diff --git a/Content/Blueprints/UI/WBPS/exportPlan.uasset b/Content/Blueprints/UI/WBPS/exportPlan.uasset index eea360be..521b8419 100644 Binary files a/Content/Blueprints/UI/WBPS/exportPlan.uasset and b/Content/Blueprints/UI/WBPS/exportPlan.uasset differ diff --git a/Content/Blueprints/UI/WBPS/filter/2sidedSlider.uasset b/Content/Blueprints/UI/WBPS/filter/2sidedSlider.uasset index 18559518..9a4e8cfd 100644 Binary files a/Content/Blueprints/UI/WBPS/filter/2sidedSlider.uasset and b/Content/Blueprints/UI/WBPS/filter/2sidedSlider.uasset differ diff --git a/Content/Blueprints/UI/WBPS/filter/Filter.uasset b/Content/Blueprints/UI/WBPS/filter/Filter.uasset index 355cc7a4..82905ace 100644 Binary files a/Content/Blueprints/UI/WBPS/filter/Filter.uasset and b/Content/Blueprints/UI/WBPS/filter/Filter.uasset differ diff --git a/Content/Blueprints/UI/WBPS/filter/FlatCard.uasset b/Content/Blueprints/UI/WBPS/filter/FlatCard.uasset index 00a95332..14713b94 100644 Binary files a/Content/Blueprints/UI/WBPS/filter/FlatCard.uasset and b/Content/Blueprints/UI/WBPS/filter/FlatCard.uasset differ diff --git a/Content/Blueprints/UI/WBPS/filter/mainFilter.uasset b/Content/Blueprints/UI/WBPS/filter/mainFilter.uasset index 37fc6599..f9f21a03 100644 Binary files a/Content/Blueprints/UI/WBPS/filter/mainFilter.uasset and b/Content/Blueprints/UI/WBPS/filter/mainFilter.uasset differ diff --git a/Content/Blueprints/UI/WBPS/flatPlan.uasset b/Content/Blueprints/UI/WBPS/flatPlan.uasset index d53f32c1..40cfca64 100644 Binary files a/Content/Blueprints/UI/WBPS/flatPlan.uasset and b/Content/Blueprints/UI/WBPS/flatPlan.uasset differ diff --git a/Content/Blueprints/Utils/3dNumber.uasset b/Content/Blueprints/Utils/3dNumber.uasset index 5a76d1c8..9e0bdbe1 100644 Binary files a/Content/Blueprints/Utils/3dNumber.uasset and b/Content/Blueprints/Utils/3dNumber.uasset differ diff --git a/Content/Blueprints/Utils/3dNumberSum.uasset b/Content/Blueprints/Utils/3dNumberSum.uasset index 5a0682c6..c1f37716 100644 Binary files a/Content/Blueprints/Utils/3dNumberSum.uasset and b/Content/Blueprints/Utils/3dNumberSum.uasset differ diff --git a/Content/Blueprints/Utils/Generators/floorCap.uasset b/Content/Blueprints/Utils/Generators/floorCap.uasset index ae4fe8a8..4f99eba7 100644 Binary files a/Content/Blueprints/Utils/Generators/floorCap.uasset and b/Content/Blueprints/Utils/Generators/floorCap.uasset differ diff --git a/Content/Blueprints/Utils/RTManage.uasset b/Content/Blueprints/Utils/RTManage.uasset index b344783b..693dd24c 100644 Binary files a/Content/Blueprints/Utils/RTManage.uasset and b/Content/Blueprints/Utils/RTManage.uasset differ diff --git a/Content/Maps/Buildings_Outside.umap b/Content/Maps/Buildings_Outside.umap index 266e3ae0..f10766e1 100644 Binary files a/Content/Maps/Buildings_Outside.umap and b/Content/Maps/Buildings_Outside.umap differ diff --git a/Content/Maps/DayLightStatic.umap b/Content/Maps/DayLightStatic.umap index 68cfe1ea..7fd4102c 100644 Binary files a/Content/Maps/DayLightStatic.umap and b/Content/Maps/DayLightStatic.umap differ diff --git a/Content/Maps/Interiors/Bake/F1.umap b/Content/Maps/Interiors/Bake/F1.umap index 3cb3d1af..f46ff4bc 100644 Binary files a/Content/Maps/Interiors/Bake/F1.umap and b/Content/Maps/Interiors/Bake/F1.umap differ diff --git a/Content/Maps/Interiors/Bake/F10.umap b/Content/Maps/Interiors/Bake/F10.umap index 85e25a11..f57312fb 100644 Binary files a/Content/Maps/Interiors/Bake/F10.umap and b/Content/Maps/Interiors/Bake/F10.umap differ diff --git a/Content/Maps/Interiors/Bake/F11.umap b/Content/Maps/Interiors/Bake/F11.umap index 285f0637..cfc57685 100644 Binary files a/Content/Maps/Interiors/Bake/F11.umap and b/Content/Maps/Interiors/Bake/F11.umap differ diff --git a/Content/Maps/Interiors/Bake/F12.umap b/Content/Maps/Interiors/Bake/F12.umap index e02a8019..f859bb27 100644 Binary files a/Content/Maps/Interiors/Bake/F12.umap and b/Content/Maps/Interiors/Bake/F12.umap differ diff --git a/Content/Maps/Interiors/Bake/F13.umap b/Content/Maps/Interiors/Bake/F13.umap index ad5d72b2..f22c5c5e 100644 Binary files a/Content/Maps/Interiors/Bake/F13.umap and b/Content/Maps/Interiors/Bake/F13.umap differ diff --git a/Content/Maps/Interiors/Bake/F14.umap b/Content/Maps/Interiors/Bake/F14.umap index 67a103ab..c2ab9ee0 100644 Binary files a/Content/Maps/Interiors/Bake/F14.umap and b/Content/Maps/Interiors/Bake/F14.umap differ diff --git a/Content/Maps/Interiors/Bake/F15.umap b/Content/Maps/Interiors/Bake/F15.umap index 9fcb5de9..b44b2716 100644 Binary files a/Content/Maps/Interiors/Bake/F15.umap and b/Content/Maps/Interiors/Bake/F15.umap differ diff --git a/Content/Maps/Interiors/Bake/F16.umap b/Content/Maps/Interiors/Bake/F16.umap index d4821a2c..3b8a3f6c 100644 Binary files a/Content/Maps/Interiors/Bake/F16.umap and b/Content/Maps/Interiors/Bake/F16.umap differ diff --git a/Content/Maps/Interiors/Bake/F17.umap b/Content/Maps/Interiors/Bake/F17.umap index 79ebd7dd..44002f47 100644 Binary files a/Content/Maps/Interiors/Bake/F17.umap and b/Content/Maps/Interiors/Bake/F17.umap differ diff --git a/Content/Maps/Interiors/Bake/F18.umap b/Content/Maps/Interiors/Bake/F18.umap index cb2e1077..65e78dd7 100644 Binary files a/Content/Maps/Interiors/Bake/F18.umap and b/Content/Maps/Interiors/Bake/F18.umap differ diff --git a/Content/Maps/Interiors/Bake/F2.umap b/Content/Maps/Interiors/Bake/F2.umap index b6992118..c921b533 100644 Binary files a/Content/Maps/Interiors/Bake/F2.umap and b/Content/Maps/Interiors/Bake/F2.umap differ diff --git a/Content/Maps/Interiors/Bake/F3.umap b/Content/Maps/Interiors/Bake/F3.umap index 0bf39e4e..68208076 100644 Binary files a/Content/Maps/Interiors/Bake/F3.umap and b/Content/Maps/Interiors/Bake/F3.umap differ diff --git a/Content/Maps/Interiors/Bake/F4.umap b/Content/Maps/Interiors/Bake/F4.umap index 14dcff27..bdbcefa0 100644 Binary files a/Content/Maps/Interiors/Bake/F4.umap and b/Content/Maps/Interiors/Bake/F4.umap differ diff --git a/Content/Maps/Interiors/Bake/F5.umap b/Content/Maps/Interiors/Bake/F5.umap index 266303fb..89082758 100644 Binary files a/Content/Maps/Interiors/Bake/F5.umap and b/Content/Maps/Interiors/Bake/F5.umap differ diff --git a/Content/Maps/Interiors/Bake/F6.umap b/Content/Maps/Interiors/Bake/F6.umap index 569f1539..e17dbb79 100644 Binary files a/Content/Maps/Interiors/Bake/F6.umap and b/Content/Maps/Interiors/Bake/F6.umap differ diff --git a/Content/Maps/Interiors/Bake/F7.umap b/Content/Maps/Interiors/Bake/F7.umap index f92c391f..847ecb87 100644 Binary files a/Content/Maps/Interiors/Bake/F7.umap and b/Content/Maps/Interiors/Bake/F7.umap differ diff --git a/Content/Maps/Interiors/Bake/F7_dflat.umap b/Content/Maps/Interiors/Bake/F7_dflat.umap new file mode 100644 index 00000000..e825e132 Binary files /dev/null and b/Content/Maps/Interiors/Bake/F7_dflat.umap differ diff --git a/Content/Maps/Interiors/Bake/F8.umap b/Content/Maps/Interiors/Bake/F8.umap index 64434b01..99782d39 100644 Binary files a/Content/Maps/Interiors/Bake/F8.umap and b/Content/Maps/Interiors/Bake/F8.umap differ diff --git a/Content/Maps/Interiors/Bake/F9.umap b/Content/Maps/Interiors/Bake/F9.umap index 30a0ea27..8e61d662 100644 Binary files a/Content/Maps/Interiors/Bake/F9.umap and b/Content/Maps/Interiors/Bake/F9.umap differ diff --git a/Content/Maps/Interiors/Bake/bakeLifts.umap b/Content/Maps/Interiors/Bake/bakeLifts.umap index 643d415c..2ebbe177 100644 Binary files a/Content/Maps/Interiors/Bake/bakeLifts.umap and b/Content/Maps/Interiors/Bake/bakeLifts.umap differ diff --git a/Content/Maps/Interiors/K1_S1/Furniture/K1_S1_furniturebuild.umap b/Content/Maps/Interiors/K1_S1/Furniture/K1_S1_furniturebuild.umap index 85de2828..77b08ce2 100644 Binary files a/Content/Maps/Interiors/K1_S1/Furniture/K1_S1_furniturebuild.umap and b/Content/Maps/Interiors/K1_S1/Furniture/K1_S1_furniturebuild.umap differ diff --git a/Content/Maps/Interiors/K1_S1/K1_S1_F8.umap b/Content/Maps/Interiors/K1_S1/K1_S1_F8.umap index 4df6a1d1..434e4f73 100644 Binary files a/Content/Maps/Interiors/K1_S1/K1_S1_F8.umap and b/Content/Maps/Interiors/K1_S1/K1_S1_F8.umap differ diff --git a/Content/Maps/Interiors/K1_S2/Furniture/K1_S2_Furniturebuild.umap b/Content/Maps/Interiors/K1_S2/Furniture/K1_S2_Furniturebuild.umap index f2107bf2..46110fda 100644 Binary files a/Content/Maps/Interiors/K1_S2/Furniture/K1_S2_Furniturebuild.umap and b/Content/Maps/Interiors/K1_S2/Furniture/K1_S2_Furniturebuild.umap differ diff --git a/Content/Maps/Interiors/K1_S2/K1_S2_F8.umap b/Content/Maps/Interiors/K1_S2/K1_S2_F8.umap index cefa7e67..a3e76931 100644 Binary files a/Content/Maps/Interiors/K1_S2/K1_S2_F8.umap and b/Content/Maps/Interiors/K1_S2/K1_S2_F8.umap differ diff --git a/Content/Maps/Interiors/K1_S4/Furniture/K1_S4_Furniture.umap b/Content/Maps/Interiors/K1_S4/Furniture/K1_S4_Furniture.umap index 1c9744e4..c181c262 100644 Binary files a/Content/Maps/Interiors/K1_S4/Furniture/K1_S4_Furniture.umap and b/Content/Maps/Interiors/K1_S4/Furniture/K1_S4_Furniture.umap differ diff --git a/Content/Maps/Interiors/K1_S4/Furniture/K1_S4_FurnitureBuild.umap b/Content/Maps/Interiors/K1_S4/Furniture/K1_S4_FurnitureBuild.umap index 69abe6f2..d829d538 100644 Binary files a/Content/Maps/Interiors/K1_S4/Furniture/K1_S4_FurnitureBuild.umap and b/Content/Maps/Interiors/K1_S4/Furniture/K1_S4_FurnitureBuild.umap differ diff --git a/Content/Maps/Interiors/K1_S4/Halls/K1_S4_Hall_F2_F4.umap b/Content/Maps/Interiors/K1_S4/Halls/K1_S4_Hall_F2_F4.umap index d74ba7a5..2049e4b0 100644 Binary files a/Content/Maps/Interiors/K1_S4/Halls/K1_S4_Hall_F2_F4.umap and b/Content/Maps/Interiors/K1_S4/Halls/K1_S4_Hall_F2_F4.umap differ diff --git a/Content/Maps/Interiors/K1_S4/Halls/K1_S4_Hall_F5_F18.umap b/Content/Maps/Interiors/K1_S4/Halls/K1_S4_Hall_F5_F18.umap index 5dab5e53..f8045ba2 100644 Binary files a/Content/Maps/Interiors/K1_S4/Halls/K1_S4_Hall_F5_F18.umap and b/Content/Maps/Interiors/K1_S4/Halls/K1_S4_Hall_F5_F18.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F1.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F1.umap index e8923d4c..665a3304 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F1.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F1.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F10.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F10.umap index 39a6688c..f5c6a0c1 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F10.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F10.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F11.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F11.umap index 6c18f161..f2dac8de 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F11.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F11.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F12.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F12.umap index 47b3d91d..96f315b7 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F12.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F12.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F13.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F13.umap index 75ad94a7..7d7efcc7 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F13.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F13.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F14.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F14.umap index 1ec8a5e3..20760640 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F14.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F14.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F15.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F15.umap index 151bb20e..3228242b 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F15.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F15.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F16.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F16.umap index 1bcdfd6a..e0f95327 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F16.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F16.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F17.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F17.umap index b1f7ae4c..c8df76b4 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F17.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F17.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F18.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F18.umap index 6b7152d1..2a8654a5 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F18.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F18.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F2.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F2.umap index a8a8416a..9952ee51 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F2.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F2.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F3.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F3.umap index 238c8a23..2a482bb1 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F3.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F3.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F4.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F4.umap index 6cf2dcd2..eaef5363 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F4.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F4.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F5.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F5.umap index 4bbec5b2..d865cb25 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F5.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F5.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F6.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F6.umap index dac220b7..cee57f37 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F6.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F6.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F7.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F7.umap index 41e07682..f96aec16 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F7.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F7.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F8.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F8.umap index d93db94c..c490ad41 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F8.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F8.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_F9.umap b/Content/Maps/Interiors/K1_S4/K1_S4_F9.umap index b8da5e4d..442ad71a 100644 Binary files a/Content/Maps/Interiors/K1_S4/K1_S4_F9.umap and b/Content/Maps/Interiors/K1_S4/K1_S4_F9.umap differ diff --git a/Content/Maps/Interiors/K1_S4/K1_S4_pointers.umap b/Content/Maps/Interiors/K1_S4/K1_S4_pointers.umap new file mode 100644 index 00000000..95ae0c6c Binary files /dev/null and b/Content/Maps/Interiors/K1_S4/K1_S4_pointers.umap differ diff --git a/Content/Maps/Interiors/K1_S4/Reflections/K1_S4_Reflections_General.umap b/Content/Maps/Interiors/K1_S4/Reflections/K1_S4_Reflections_General.umap index b317c7ee..d22b51b0 100644 Binary files a/Content/Maps/Interiors/K1_S4/Reflections/K1_S4_Reflections_General.umap and b/Content/Maps/Interiors/K1_S4/Reflections/K1_S4_Reflections_General.umap differ diff --git a/Content/Maps/Interiors/K2_S1/Furniture/K2_S1_Furniture.umap b/Content/Maps/Interiors/K2_S1/Furniture/K2_S1_Furniture.umap index a7d77ff8..f58cdad0 100644 Binary files a/Content/Maps/Interiors/K2_S1/Furniture/K2_S1_Furniture.umap and b/Content/Maps/Interiors/K2_S1/Furniture/K2_S1_Furniture.umap differ diff --git a/Content/Maps/Interiors/K2_S1/Furniture/K2_S1_FurnitureBuild.umap b/Content/Maps/Interiors/K2_S1/Furniture/K2_S1_FurnitureBuild.umap index e97efe2a..01ca501a 100644 Binary files a/Content/Maps/Interiors/K2_S1/Furniture/K2_S1_FurnitureBuild.umap and b/Content/Maps/Interiors/K2_S1/Furniture/K2_S1_FurnitureBuild.umap differ diff --git a/Content/Maps/Interiors/K2_S1/Halls/K2_S1_Hall_F2-6.umap b/Content/Maps/Interiors/K2_S1/Halls/K2_S1_Hall_F2-6.umap index 3598f582..056b92c3 100644 Binary files a/Content/Maps/Interiors/K2_S1/Halls/K2_S1_Hall_F2-6.umap and b/Content/Maps/Interiors/K2_S1/Halls/K2_S1_Hall_F2-6.umap differ diff --git a/Content/Maps/Interiors/K2_S1/Halls/K2_S1_Hall_F7-18.umap b/Content/Maps/Interiors/K2_S1/Halls/K2_S1_Hall_F7-18.umap index 56f6049a..cd60a1aa 100644 Binary files a/Content/Maps/Interiors/K2_S1/Halls/K2_S1_Hall_F7-18.umap and b/Content/Maps/Interiors/K2_S1/Halls/K2_S1_Hall_F7-18.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F1.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F1.umap index dd2bce30..c18c2ea9 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F1.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F1.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F10.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F10.umap index 25f4c96f..fff8a31b 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F10.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F10.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F11.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F11.umap index 0ea49bf5..775fb4e3 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F11.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F11.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F12.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F12.umap index 603de323..fdab03e8 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F12.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F12.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F13.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F13.umap index 12138c77..03349f37 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F13.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F13.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F14.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F14.umap index 222fa8dc..ff215042 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F14.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F14.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F15.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F15.umap index 3c12bc2b..3812e490 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F15.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F15.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F16.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F16.umap index 4da9f5c1..fcbfae04 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F16.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F16.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F17.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F17.umap index b23faf72..a79ace47 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F17.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F17.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F18.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F18.umap index 30981949..873651b8 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F18.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F18.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F2.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F2.umap index 7c2488a8..c498ad57 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F2.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F2.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F3.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F3.umap index 6e491d37..815d77bc 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F3.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F3.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F4.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F4.umap index 87c6e47a..405c3ea8 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F4.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F4.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F5.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F5.umap index 03f15bc7..6b9e91e2 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F5.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F5.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F6.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F6.umap index 890529dc..bc2b4443 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F6.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F6.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F7.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F7.umap index 9bf9597f..424c0ce6 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F7.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F7.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F8.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F8.umap index 48ea2c7c..783da9b1 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F8.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F8.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_F9.umap b/Content/Maps/Interiors/K2_S1/K2_S1_F9.umap index f8abfcfd..d5fed0ee 100644 Binary files a/Content/Maps/Interiors/K2_S1/K2_S1_F9.umap and b/Content/Maps/Interiors/K2_S1/K2_S1_F9.umap differ diff --git a/Content/Maps/Interiors/K2_S1/K2_S1_pointers.umap b/Content/Maps/Interiors/K2_S1/K2_S1_pointers.umap new file mode 100644 index 00000000..65310e96 Binary files /dev/null and b/Content/Maps/Interiors/K2_S1/K2_S1_pointers.umap differ diff --git a/Content/Maps/Interiors/K2_S1/Reflections/K2_S1_Reflections_General.umap b/Content/Maps/Interiors/K2_S1/Reflections/K2_S1_Reflections_General.umap index b99492cf..59dcb369 100644 Binary files a/Content/Maps/Interiors/K2_S1/Reflections/K2_S1_Reflections_General.umap and b/Content/Maps/Interiors/K2_S1/Reflections/K2_S1_Reflections_General.umap differ diff --git a/Content/Maps/Interiors/K2_S2/Furniture/K2_S2_Furniture.umap b/Content/Maps/Interiors/K2_S2/Furniture/K2_S2_Furniture.umap index 0ea3cd9b..89a5f93e 100644 Binary files a/Content/Maps/Interiors/K2_S2/Furniture/K2_S2_Furniture.umap and b/Content/Maps/Interiors/K2_S2/Furniture/K2_S2_Furniture.umap differ diff --git a/Content/Maps/Interiors/K2_S2/Furniture/K2_S2_FurnitureBuild.umap b/Content/Maps/Interiors/K2_S2/Furniture/K2_S2_FurnitureBuild.umap index cf352dac..88b6a786 100644 Binary files a/Content/Maps/Interiors/K2_S2/Furniture/K2_S2_FurnitureBuild.umap and b/Content/Maps/Interiors/K2_S2/Furniture/K2_S2_FurnitureBuild.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F1.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F1.umap index d5e2d11e..d1cb7587 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F1.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F1.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F10.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F10.umap index 5c7bd7f5..3a72443e 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F10.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F10.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F11.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F11.umap index c7c7e5a2..6f2d5f4c 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F11.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F11.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F12.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F12.umap index 37619f18..b038ff0e 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F12.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F12.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F13.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F13.umap index a14a2de2..3824fa6c 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F13.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F13.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F14.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F14.umap index 3b8ff982..0f2aa7b9 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F14.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F14.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F15.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F15.umap index 01f9110f..84829002 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F15.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F15.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F16.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F16.umap index 746ad7f6..2916bc07 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F16.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F16.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F17.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F17.umap index 3333869c..71ffadea 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F17.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F17.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F18.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F18.umap index fb5d4877..843dbbde 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F18.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F18.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F2.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F2.umap index 3daf5c0d..e998373f 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F2.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F2.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F3.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F3.umap index c6451216..aa9378f3 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F3.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F3.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F4.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F4.umap index d2575509..5d4a74e3 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F4.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F4.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F5.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F5.umap index 4b3a7a79..07aa3366 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F5.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F5.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F6.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F6.umap index ad2ef71e..fd4ed3eb 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F6.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F6.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F7.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F7.umap index 09875ce5..f07cab70 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F7.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F7.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F8.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F8.umap index d602aab0..861aeafc 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F8.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F8.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_F9.umap b/Content/Maps/Interiors/K2_S2/K2_S2_F9.umap index 53b1a006..dfb6aa32 100644 Binary files a/Content/Maps/Interiors/K2_S2/K2_S2_F9.umap and b/Content/Maps/Interiors/K2_S2/K2_S2_F9.umap differ diff --git a/Content/Maps/Interiors/K2_S2/K2_S2_pointers.umap b/Content/Maps/Interiors/K2_S2/K2_S2_pointers.umap new file mode 100644 index 00000000..ff5d1a4e Binary files /dev/null and b/Content/Maps/Interiors/K2_S2/K2_S2_pointers.umap differ diff --git a/Content/Maps/Interiors/K2_S2/Reflections/K2_S2_Reflections_General.umap b/Content/Maps/Interiors/K2_S2/Reflections/K2_S2_Reflections_General.umap index 129563c2..de9e3a18 100644 Binary files a/Content/Maps/Interiors/K2_S2/Reflections/K2_S2_Reflections_General.umap and b/Content/Maps/Interiors/K2_S2/Reflections/K2_S2_Reflections_General.umap differ diff --git a/Content/Maps/Interiors/K2_S2/TwoFloorsFlat/K2_S2_TFF_1.umap b/Content/Maps/Interiors/K2_S2/TwoFloorsFlat/K2_S2_TFF_1.umap index b1866a91..c58eb1e7 100644 Binary files a/Content/Maps/Interiors/K2_S2/TwoFloorsFlat/K2_S2_TFF_1.umap and b/Content/Maps/Interiors/K2_S2/TwoFloorsFlat/K2_S2_TFF_1.umap differ diff --git a/Content/Maps/Interiors/K2_S2/TwoFloorsFlat/K2_S2_TFF_2.umap b/Content/Maps/Interiors/K2_S2/TwoFloorsFlat/K2_S2_TFF_2.umap index c4096619..b5c5012a 100644 Binary files a/Content/Maps/Interiors/K2_S2/TwoFloorsFlat/K2_S2_TFF_2.umap and b/Content/Maps/Interiors/K2_S2/TwoFloorsFlat/K2_S2_TFF_2.umap differ diff --git a/Content/Maps/Interiors/LiftH2S1.umap b/Content/Maps/Interiors/LiftH2S1.umap new file mode 100644 index 00000000..5caacab6 Binary files /dev/null and b/Content/Maps/Interiors/LiftH2S1.umap differ diff --git a/Content/Maps/Interiors/LiftH2S2.umap b/Content/Maps/Interiors/LiftH2S2.umap new file mode 100644 index 00000000..a025ea71 Binary files /dev/null and b/Content/Maps/Interiors/LiftH2S2.umap differ diff --git a/Content/Maps/Interiors/LiftS1.umap b/Content/Maps/Interiors/LiftS1.umap index cfacbb0a..9af1ffcb 100644 Binary files a/Content/Maps/Interiors/LiftS1.umap and b/Content/Maps/Interiors/LiftS1.umap differ diff --git a/Content/Maps/Interiors/LiftS2.umap b/Content/Maps/Interiors/LiftS2.umap index c2382b5b..ab736365 100644 Binary files a/Content/Maps/Interiors/LiftS2.umap and b/Content/Maps/Interiors/LiftS2.umap differ diff --git a/Content/Maps/Interiors/LiftS3.umap b/Content/Maps/Interiors/LiftS3.umap index 30683a2c..22d2d681 100644 Binary files a/Content/Maps/Interiors/LiftS3.umap and b/Content/Maps/Interiors/LiftS3.umap differ diff --git a/Content/Maps/Interiors/LiftS4.umap b/Content/Maps/Interiors/LiftS4.umap new file mode 100644 index 00000000..040daca0 Binary files /dev/null and b/Content/Maps/Interiors/LiftS4.umap differ diff --git a/Content/Maps/MainScene.umap b/Content/Maps/MainScene.umap index d8847183..23c420c7 100644 Binary files a/Content/Maps/MainScene.umap and b/Content/Maps/MainScene.umap differ diff --git a/Content/Maps/MainScene_test.umap b/Content/Maps/MainScene_test.umap index 53f5df43..b495f161 100644 Binary files a/Content/Maps/MainScene_test.umap and b/Content/Maps/MainScene_test.umap differ diff --git a/Content/Materials/Instances/Glass/M_WinGlass_autotoned.uasset b/Content/Materials/Instances/Glass/M_WinGlass_autotoned.uasset new file mode 100644 index 00000000..127bb896 Binary files /dev/null and b/Content/Materials/Instances/Glass/M_WinGlass_autotoned.uasset differ diff --git a/Content/Materials/M_Glass.uasset b/Content/Materials/M_Glass.uasset index 4aff1e31..f987ea16 100644 Binary files a/Content/Materials/M_Glass.uasset and b/Content/Materials/M_Glass.uasset differ diff --git a/Content/Materials/M_WinGlass.uasset b/Content/Materials/M_WinGlass.uasset index 084cef08..73a097b7 100644 Binary files a/Content/Materials/M_WinGlass.uasset and b/Content/Materials/M_WinGlass.uasset differ diff --git a/Content/Mavis/Materials/Master/M_FakeInterior.uasset b/Content/Mavis/Materials/Master/M_FakeInterior.uasset index 182372a1..745ce4cb 100644 Binary files a/Content/Mavis/Materials/Master/M_FakeInterior.uasset and b/Content/Mavis/Materials/Master/M_FakeInterior.uasset differ diff --git a/Content/Mavis/Meshes/Exterior/K2/SM_K1_S4.uasset b/Content/Mavis/Meshes/Exterior/K2/SM_K1_S4.uasset index bfa5ecc3..75fa5302 100644 Binary files a/Content/Mavis/Meshes/Exterior/K2/SM_K1_S4.uasset and b/Content/Mavis/Meshes/Exterior/K2/SM_K1_S4.uasset differ diff --git a/Content/Mavis/Meshes/Exterior/K2/SM_K2_S1.uasset b/Content/Mavis/Meshes/Exterior/K2/SM_K2_S1.uasset index 582696a6..5cdfae93 100644 Binary files a/Content/Mavis/Meshes/Exterior/K2/SM_K2_S1.uasset and b/Content/Mavis/Meshes/Exterior/K2/SM_K2_S1.uasset differ diff --git a/Content/Mavis/Meshes/Exterior/K2/SM_K2_S2.uasset b/Content/Mavis/Meshes/Exterior/K2/SM_K2_S2.uasset index c082b108..2276431b 100644 Binary files a/Content/Mavis/Meshes/Exterior/K2/SM_K2_S2.uasset and b/Content/Mavis/Meshes/Exterior/K2/SM_K2_S2.uasset differ diff --git a/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_1_1.uasset b/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_1_1.uasset index d75349ed..8da41760 100644 Binary files a/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_1_1.uasset and b/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_1_1.uasset differ diff --git a/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_1_2.uasset b/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_1_2.uasset index df4a5d6e..3b3ed0b3 100644 Binary files a/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_1_2.uasset and b/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_1_2.uasset differ diff --git a/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_2_1.uasset b/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_2_1.uasset index 513c92ff..120fcc9d 100644 Binary files a/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_2_1.uasset and b/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_2_1.uasset differ diff --git a/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_2_2.uasset b/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_2_2.uasset index 9d596bce..5cba185f 100644 Binary files a/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_2_2.uasset and b/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_2_2.uasset differ diff --git a/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_Enter.uasset b/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_Enter.uasset index c9782bca..2b066d3b 100644 Binary files a/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_Enter.uasset and b/Content/Mavis/Meshes/Interior/Furniture/Doors/SM_Door_Enter.uasset differ diff --git a/Content/Mavis/Meshes/Interior/Furniture/SM_Kitchen_no_wall_Classic.uasset b/Content/Mavis/Meshes/Interior/Furniture/SM_Kitchen_no_wall_Classic.uasset index 12bdd3d0..e89a93e5 100644 Binary files a/Content/Mavis/Meshes/Interior/Furniture/SM_Kitchen_no_wall_Classic.uasset and b/Content/Mavis/Meshes/Interior/Furniture/SM_Kitchen_no_wall_Classic.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S3/F2/SM_K01S03F02_WallsCap.uasset b/Content/Mavis/Meshes/Interior/K1_S3/F2/SM_K01S03F02_WallsCap.uasset index 4b266299..0ab33782 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S3/F2/SM_K01S03F02_WallsCap.uasset and b/Content/Mavis/Meshes/Interior/K1_S3/F2/SM_K01S03F02_WallsCap.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F1/SM_K01S04F01A02.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F1/SM_K01S04F01A02.uasset index 8d1ae337..ba632b38 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F1/SM_K01S04F01A02.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F1/SM_K01S04F01A02.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F1/SM_K01S04F01A04.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F1/SM_K01S04F01A04.uasset index b9dc0d63..da2b2605 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F1/SM_K01S04F01A04.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F1/SM_K01S04F01A04.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F10/SM_K01S04F10A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F10/SM_K01S04F10A00.uasset index d4757992..0ec2ec83 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F10/SM_K01S04F10A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F10/SM_K01S04F10A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F11/SM_K01S04F11A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F11/SM_K01S04F11A00.uasset index 3767255e..6d9e2ffc 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F11/SM_K01S04F11A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F11/SM_K01S04F11A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F12/SM_K01S04F12A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F12/SM_K01S04F12A00.uasset index a7f4bbc9..fce15e2d 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F12/SM_K01S04F12A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F12/SM_K01S04F12A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F13/SM_K01S04F13A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F13/SM_K01S04F13A00.uasset index d7ffc511..97e5b8b5 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F13/SM_K01S04F13A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F13/SM_K01S04F13A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F14/SM_K01S04F14A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F14/SM_K01S04F14A00.uasset index ee6fbc39..9c8a65c2 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F14/SM_K01S04F14A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F14/SM_K01S04F14A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F15/SM_K01S04F15A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F15/SM_K01S04F15A00.uasset index 0bb13b41..4a9a2346 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F15/SM_K01S04F15A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F15/SM_K01S04F15A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F16/SM_K01S04F16A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F16/SM_K01S04F16A00.uasset index 4ec8b3d3..1cdfc514 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F16/SM_K01S04F16A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F16/SM_K01S04F16A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F17/SM_K01S04F17A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F17/SM_K01S04F17A00.uasset index 63e6c92c..ba59f19b 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F17/SM_K01S04F17A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F17/SM_K01S04F17A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F18/SM_K01S04F18A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F18/SM_K01S04F18A00.uasset index b32518af..99cccf0e 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F18/SM_K01S04F18A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F18/SM_K01S04F18A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F3/SM_K01S04F03A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F3/SM_K01S04F03A00.uasset index a79d4106..026d38a2 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F3/SM_K01S04F03A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F3/SM_K01S04F03A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F4/SM_K01S04F04A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F4/SM_K01S04F04A00.uasset index 0057ca9a..798353d0 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F4/SM_K01S04F04A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F4/SM_K01S04F04A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F6/SM_K01S04F06A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F6/SM_K01S04F06A00.uasset index 32dba52e..a5b74764 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F6/SM_K01S04F06A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F6/SM_K01S04F06A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F7/SM_K01S04F07A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F7/SM_K01S04F07A00.uasset index 46b5a78e..51b76ab8 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F7/SM_K01S04F07A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F7/SM_K01S04F07A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F8/SM_K01S04F08A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F8/SM_K01S04F08A00.uasset index 00226a2b..ab0496d3 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F8/SM_K01S04F08A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F8/SM_K01S04F08A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K1_S4/F9/SM_K01S04F09A00.uasset b/Content/Mavis/Meshes/Interior/K1_S4/F9/SM_K01S04F09A00.uasset index 7d3ab4ea..252e2eb4 100644 Binary files a/Content/Mavis/Meshes/Interior/K1_S4/F9/SM_K01S04F09A00.uasset and b/Content/Mavis/Meshes/Interior/K1_S4/F9/SM_K01S04F09A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F10/SM_K02S01F10A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F10/SM_K02S01F10A00.uasset index c46137e2..65cc545e 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F10/SM_K02S01F10A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F10/SM_K02S01F10A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F10/SM_K02S01F10A10.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F10/SM_K02S01F10A10.uasset index 610f68a5..8e1b92c2 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F10/SM_K02S01F10A10.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F10/SM_K02S01F10A10.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F11/SM_K02S01F11A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F11/SM_K02S01F11A00.uasset index e100c999..e6425dbf 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F11/SM_K02S01F11A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F11/SM_K02S01F11A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F12/SM_K02S01F12A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F12/SM_K02S01F12A00.uasset index 521f4e64..2028ad67 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F12/SM_K02S01F12A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F12/SM_K02S01F12A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F13/SM_K02S01F13A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F13/SM_K02S01F13A00.uasset index 0dcfc6a2..f1d65fea 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F13/SM_K02S01F13A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F13/SM_K02S01F13A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A00.uasset index 169c33a0..0acd7c82 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A06.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A06.uasset index a0c4551c..a047a1cb 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A06.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A06.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A07.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A07.uasset index f91decf9..321c28af 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A07.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A07.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A08.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A08.uasset index 816aafec..acaa6ea8 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A08.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F14/SM_K02S01F14A08.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F15/SM_K02S01F15A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F15/SM_K02S01F15A00.uasset index 708b6e8e..32e45d5b 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F15/SM_K02S01F15A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F15/SM_K02S01F15A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F16/SM_K02S01F16A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F16/SM_K02S01F16A00.uasset index 9fb0392c..45e0d310 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F16/SM_K02S01F16A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F16/SM_K02S01F16A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F16/SM_K02S01F16A15.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F16/SM_K02S01F16A15.uasset index 89fa3e46..b663974e 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F16/SM_K02S01F16A15.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F16/SM_K02S01F16A15.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F17/SM_K02S01F17A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F17/SM_K02S01F17A00.uasset index 07a54a12..0d7b614a 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F17/SM_K02S01F17A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F17/SM_K02S01F17A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F17/SM_K02S01F17A01.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F17/SM_K02S01F17A01.uasset index 06e75fe6..e800825b 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F17/SM_K02S01F17A01.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F17/SM_K02S01F17A01.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F18/SM_K02S01F18A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F18/SM_K02S01F18A00.uasset index ac624125..fc450bad 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F18/SM_K02S01F18A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F18/SM_K02S01F18A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F2/SM_K02S01F02A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F2/SM_K02S01F02A00.uasset index c39b8175..5d1b2979 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F2/SM_K02S01F02A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F2/SM_K02S01F02A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F2/SM_K02S01F02A02.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F2/SM_K02S01F02A02.uasset index 3cde2cfb..162e77f0 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F2/SM_K02S01F02A02.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F2/SM_K02S01F02A02.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F2/SM_K02S01F02A11.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F2/SM_K02S01F02A11.uasset index 85e6d405..65bb85fb 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F2/SM_K02S01F02A11.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F2/SM_K02S01F02A11.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F3/SM_K02S01F03A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F3/SM_K02S01F03A00.uasset index ebf874cf..b9a042a9 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F3/SM_K02S01F03A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F3/SM_K02S01F03A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F4/SM_K02S01F04A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F4/SM_K02S01F04A00.uasset index 7d29bc3c..50ae811e 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F4/SM_K02S01F04A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F4/SM_K02S01F04A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F5/SM_K02S01F05A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F5/SM_K02S01F05A00.uasset index b017bc14..38b106b6 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F5/SM_K02S01F05A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F5/SM_K02S01F05A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F6/SM_K02S01F06A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F6/SM_K02S01F06A00.uasset index acb0687f..d94d09bb 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F6/SM_K02S01F06A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F6/SM_K02S01F06A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A00.uasset index e38edc93..ad3fefa7 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A02.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A02.uasset index f9a81344..595537ce 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A02.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A02.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A09.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A09.uasset index 2bf6e6e9..424219b5 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A09.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A09.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A10.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A10.uasset index c1eec2d9..cb217d1f 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A10.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F7/SM_K02S01F07A10.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F8/SM_K02S01F08A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F8/SM_K02S01F08A00.uasset index 9911dbd9..7e1b63d1 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F8/SM_K02S01F08A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F8/SM_K02S01F08A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F8/SM_K02S01F08A01.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F8/SM_K02S01F08A01.uasset index 9adc5637..fdf81cb5 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F8/SM_K02S01F08A01.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F8/SM_K02S01F08A01.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F8/SM_K02S01F08A03.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F8/SM_K02S01F08A03.uasset index 31998679..c35adbf6 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F8/SM_K02S01F08A03.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F8/SM_K02S01F08A03.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S1/F9/SM_K02S01F09A00.uasset b/Content/Mavis/Meshes/Interior/K2_S1/F9/SM_K02S01F09A00.uasset index b4d718c3..bee56526 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S1/F9/SM_K02S01F09A00.uasset and b/Content/Mavis/Meshes/Interior/K2_S1/F9/SM_K02S01F09A00.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S2/F01/SM_K02S02F01A00_CellingGrid.uasset b/Content/Mavis/Meshes/Interior/K2_S2/F01/SM_K02S02F01A00_CellingGrid.uasset index 3b9c46ca..ea71337b 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S2/F01/SM_K02S02F01A00_CellingGrid.uasset and b/Content/Mavis/Meshes/Interior/K2_S2/F01/SM_K02S02F01A00_CellingGrid.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S2/F02/SM_K02S02F02-18A00_CellingGrid.uasset b/Content/Mavis/Meshes/Interior/K2_S2/F02/SM_K02S02F02-18A00_CellingGrid.uasset index bd971fd5..3c5bd661 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S2/F02/SM_K02S02F02-18A00_CellingGrid.uasset and b/Content/Mavis/Meshes/Interior/K2_S2/F02/SM_K02S02F02-18A00_CellingGrid.uasset differ diff --git a/Content/Mavis/Meshes/Interior/K2_S2/F06/SM_K02S02F06A08.uasset b/Content/Mavis/Meshes/Interior/K2_S2/F06/SM_K02S02F06A08.uasset index 9339cd65..3c9ab027 100644 Binary files a/Content/Mavis/Meshes/Interior/K2_S2/F06/SM_K02S02F06A08.uasset and b/Content/Mavis/Meshes/Interior/K2_S2/F06/SM_K02S02F06A08.uasset differ diff --git a/Content/Mavis/Meshes/Interior/interior.uasset b/Content/Mavis/Meshes/Interior/interior.uasset new file mode 100644 index 00000000..4dd01b50 Binary files /dev/null and b/Content/Mavis/Meshes/Interior/interior.uasset differ diff --git a/Content/Meshes/Interior/Floors/SM_CorridorDoor_BIgDood.uasset b/Content/Meshes/Interior/Floors/SM_CorridorDoor_BIgDood.uasset index 5623e5a1..94240c1f 100644 Binary files a/Content/Meshes/Interior/Floors/SM_CorridorDoor_BIgDood.uasset and b/Content/Meshes/Interior/Floors/SM_CorridorDoor_BIgDood.uasset differ diff --git a/Content/Meshes/Interior/Floors/SM_CorridorDoor_Frame.uasset b/Content/Meshes/Interior/Floors/SM_CorridorDoor_Frame.uasset index 8636d387..e99a5c31 100644 Binary files a/Content/Meshes/Interior/Floors/SM_CorridorDoor_Frame.uasset and b/Content/Meshes/Interior/Floors/SM_CorridorDoor_Frame.uasset differ diff --git a/Content/Meshes/Interior/K01/S01/F01/SM_K01S01F01_Door1.uasset b/Content/Meshes/Interior/K01/S01/F01/SM_K01S01F01_Door1.uasset index 206a6af8..f73ad8ad 100644 Binary files a/Content/Meshes/Interior/K01/S01/F01/SM_K01S01F01_Door1.uasset and b/Content/Meshes/Interior/K01/S01/F01/SM_K01S01F01_Door1.uasset differ diff --git a/Content/Meshes/Interior/K01/S02/F01/SM_K01S02_DoorsEntrance_01.uasset b/Content/Meshes/Interior/K01/S02/F01/SM_K01S02_DoorsEntrance_01.uasset index 310f0576..038e27a5 100644 Binary files a/Content/Meshes/Interior/K01/S02/F01/SM_K01S02_DoorsEntrance_01.uasset and b/Content/Meshes/Interior/K01/S02/F01/SM_K01S02_DoorsEntrance_01.uasset differ diff --git a/Content/Sequences/h1.uasset b/Content/Sequences/h1.uasset new file mode 100644 index 00000000..37d5a693 Binary files /dev/null and b/Content/Sequences/h1.uasset differ diff --git a/Content/Sequences/prolet.uasset b/Content/Sequences/prolet.uasset new file mode 100644 index 00000000..b4498cd0 Binary files /dev/null and b/Content/Sequences/prolet.uasset differ diff --git a/Content/Sequences/prolet1.uasset b/Content/Sequences/prolet1.uasset new file mode 100644 index 00000000..1e15ada7 Binary files /dev/null and b/Content/Sequences/prolet1.uasset differ diff --git a/Content/Sequences/prolet2.uasset b/Content/Sequences/prolet2.uasset new file mode 100644 index 00000000..29669407 Binary files /dev/null and b/Content/Sequences/prolet2.uasset differ diff --git a/Content/imageConverter/doWork.bat b/Content/imageConverter/doWork.bat index cea274f6..2893606c 100644 --- a/Content/imageConverter/doWork.bat +++ b/Content/imageConverter/doWork.bat @@ -25,5 +25,6 @@ rem move video to client folder robocopy %vidpath% %defvidpath% /mov rem copy all data to network -robocopy %defpath% %netpath% /mir +if %netpath% NEQ "" robocopy %defpath% %netpath% /mir +::pause exit \ No newline at end of file diff --git a/Managed/DeviceId.dll b/Managed/DeviceId.dll new file mode 100644 index 00000000..2eaaf6d6 Binary files /dev/null and b/Managed/DeviceId.dll differ diff --git a/Managed/GraffLicenceValidation.dll b/Managed/GraffLicenceValidation.dll new file mode 100644 index 00000000..1e60fde3 Binary files /dev/null and b/Managed/GraffLicenceValidation.dll differ diff --git a/Managed/Microsoft.AspNetCore.Connections.Abstractions.dll b/Managed/Microsoft.AspNetCore.Connections.Abstractions.dll new file mode 100644 index 00000000..21771d9d Binary files /dev/null and b/Managed/Microsoft.AspNetCore.Connections.Abstractions.dll differ diff --git a/Managed/Microsoft.AspNetCore.Http.Connections.Client.dll b/Managed/Microsoft.AspNetCore.Http.Connections.Client.dll new file mode 100644 index 00000000..ccb545dd Binary files /dev/null and b/Managed/Microsoft.AspNetCore.Http.Connections.Client.dll differ diff --git a/Managed/Microsoft.AspNetCore.Http.Connections.Common.dll b/Managed/Microsoft.AspNetCore.Http.Connections.Common.dll new file mode 100644 index 00000000..2e1193d0 Binary files /dev/null and b/Managed/Microsoft.AspNetCore.Http.Connections.Common.dll differ diff --git a/Managed/Microsoft.AspNetCore.SignalR.Client.Core.dll b/Managed/Microsoft.AspNetCore.SignalR.Client.Core.dll new file mode 100644 index 00000000..6a6e01f1 Binary files /dev/null and b/Managed/Microsoft.AspNetCore.SignalR.Client.Core.dll differ diff --git a/Managed/Microsoft.AspNetCore.SignalR.Client.dll b/Managed/Microsoft.AspNetCore.SignalR.Client.dll new file mode 100644 index 00000000..259c69e8 Binary files /dev/null and b/Managed/Microsoft.AspNetCore.SignalR.Client.dll differ diff --git a/Managed/Microsoft.AspNetCore.SignalR.Common.dll b/Managed/Microsoft.AspNetCore.SignalR.Common.dll new file mode 100644 index 00000000..81cf0fb4 Binary files /dev/null and b/Managed/Microsoft.AspNetCore.SignalR.Common.dll differ diff --git a/Managed/Microsoft.AspNetCore.SignalR.Protocols.Json.dll b/Managed/Microsoft.AspNetCore.SignalR.Protocols.Json.dll new file mode 100644 index 00000000..794b8584 Binary files /dev/null and b/Managed/Microsoft.AspNetCore.SignalR.Protocols.Json.dll differ diff --git a/Managed/Microsoft.Bcl.AsyncInterfaces.dll b/Managed/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 00000000..e5e9f27f Binary files /dev/null and b/Managed/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/Managed/Microsoft.DotNet.PlatformAbstractions.dll b/Managed/Microsoft.DotNet.PlatformAbstractions.dll new file mode 100644 index 00000000..558229b6 Binary files /dev/null and b/Managed/Microsoft.DotNet.PlatformAbstractions.dll differ diff --git a/Managed/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/Managed/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 00000000..d7f903b0 Binary files /dev/null and b/Managed/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ diff --git a/Managed/Microsoft.Extensions.DependencyInjection.dll b/Managed/Microsoft.Extensions.DependencyInjection.dll new file mode 100644 index 00000000..a659204f Binary files /dev/null and b/Managed/Microsoft.Extensions.DependencyInjection.dll differ diff --git a/Managed/Microsoft.Extensions.Features.dll b/Managed/Microsoft.Extensions.Features.dll new file mode 100644 index 00000000..f08ebe8f Binary files /dev/null and b/Managed/Microsoft.Extensions.Features.dll differ diff --git a/Managed/Microsoft.Extensions.Logging.Abstractions.dll b/Managed/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100644 index 00000000..78ce0ef8 Binary files /dev/null and b/Managed/Microsoft.Extensions.Logging.Abstractions.dll differ diff --git a/Managed/Microsoft.Extensions.Logging.dll b/Managed/Microsoft.Extensions.Logging.dll new file mode 100644 index 00000000..984b02c3 Binary files /dev/null and b/Managed/Microsoft.Extensions.Logging.dll differ diff --git a/Managed/Microsoft.Extensions.Options.dll b/Managed/Microsoft.Extensions.Options.dll new file mode 100644 index 00000000..9ef05fcc Binary files /dev/null and b/Managed/Microsoft.Extensions.Options.dll differ diff --git a/Managed/Microsoft.Extensions.Primitives.dll b/Managed/Microsoft.Extensions.Primitives.dll new file mode 100644 index 00000000..5822b186 Binary files /dev/null and b/Managed/Microsoft.Extensions.Primitives.dll differ diff --git a/Managed/System.Buffers.dll b/Managed/System.Buffers.dll new file mode 100644 index 00000000..c0970c07 Binary files /dev/null and b/Managed/System.Buffers.dll differ diff --git a/Managed/System.Diagnostics.DiagnosticSource.dll b/Managed/System.Diagnostics.DiagnosticSource.dll new file mode 100644 index 00000000..db0c8d23 Binary files /dev/null and b/Managed/System.Diagnostics.DiagnosticSource.dll differ diff --git a/Managed/System.IO.Pipelines.dll b/Managed/System.IO.Pipelines.dll new file mode 100644 index 00000000..5b06c150 Binary files /dev/null and b/Managed/System.IO.Pipelines.dll differ diff --git a/Managed/System.Memory.dll b/Managed/System.Memory.dll new file mode 100644 index 00000000..953a9d2e Binary files /dev/null and b/Managed/System.Memory.dll differ diff --git a/Managed/System.Runtime.CompilerServices.Unsafe.dll b/Managed/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 00000000..1e3860da Binary files /dev/null and b/Managed/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/Managed/System.Text.Encodings.Web.dll b/Managed/System.Text.Encodings.Web.dll new file mode 100644 index 00000000..cd6a25e8 Binary files /dev/null and b/Managed/System.Text.Encodings.Web.dll differ diff --git a/Managed/System.Text.Json.dll b/Managed/System.Text.Json.dll new file mode 100644 index 00000000..aee05051 Binary files /dev/null and b/Managed/System.Text.Json.dll differ diff --git a/Managed/System.Threading.Channels.dll b/Managed/System.Threading.Channels.dll new file mode 100644 index 00000000..ab871399 Binary files /dev/null and b/Managed/System.Threading.Channels.dll differ diff --git a/Managed/System.Threading.Tasks.Extensions.dll b/Managed/System.Threading.Tasks.Extensions.dll new file mode 100644 index 00000000..dfab2347 Binary files /dev/null and b/Managed/System.Threading.Tasks.Extensions.dll differ diff --git a/Managed/UnrealCLR.dll b/Managed/UnrealCLR.dll new file mode 100644 index 00000000..83b607a0 Binary files /dev/null and b/Managed/UnrealCLR.dll differ diff --git a/Managed/UnrealEngine.Framework.dll b/Managed/UnrealEngine.Framework.dll new file mode 100644 index 00000000..8422dee6 Binary files /dev/null and b/Managed/UnrealEngine.Framework.dll differ diff --git a/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR-0001.dll b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR-0001.dll new file mode 100644 index 00000000..43f4384a Binary files /dev/null and b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR-0001.dll differ diff --git a/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR-0001.pdb b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR-0001.pdb new file mode 100644 index 00000000..168e0d65 Binary files /dev/null and b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR-0001.pdb differ diff --git a/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR-0002.dll b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR-0002.dll new file mode 100644 index 00000000..a6bd0604 Binary files /dev/null and b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR-0002.dll differ diff --git a/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR-0002.pdb b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR-0002.pdb new file mode 100644 index 00000000..f7d3a00a Binary files /dev/null and b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR-0002.pdb differ diff --git a/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR.dll b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR.dll new file mode 100644 index 00000000..82557b10 Binary files /dev/null and b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR.dll differ diff --git a/Plugins/Victory/Binaries/Win64/UE4Editor-VictoryBPLibrary.pdb b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR.pdb similarity index 65% rename from Plugins/Victory/Binaries/Win64/UE4Editor-VictoryBPLibrary.pdb rename to Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR.pdb index 5307bf40..968bea3c 100644 Binary files a/Plugins/Victory/Binaries/Win64/UE4Editor-VictoryBPLibrary.pdb and b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor-UnrealCLR.pdb differ diff --git a/Plugins/UnrealCLR/Binaries/Win64/UE4Editor.modules b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor.modules new file mode 100644 index 00000000..1e6eba11 --- /dev/null +++ b/Plugins/UnrealCLR/Binaries/Win64/UE4Editor.modules @@ -0,0 +1,7 @@ +{ + "BuildId": "13144385", + "Modules": + { + "UnrealCLR": "UE4Editor-UnrealCLR-0002.dll" + } +} \ No newline at end of file diff --git a/Plugins/UnrealCLR/Managed/Microsoft.DotNet.PlatformAbstractions.dll b/Plugins/UnrealCLR/Managed/Microsoft.DotNet.PlatformAbstractions.dll new file mode 100644 index 00000000..558229b6 Binary files /dev/null and b/Plugins/UnrealCLR/Managed/Microsoft.DotNet.PlatformAbstractions.dll differ diff --git a/Plugins/UnrealCLR/Managed/Microsoft.Extensions.DependencyModel.dll b/Plugins/UnrealCLR/Managed/Microsoft.Extensions.DependencyModel.dll new file mode 100644 index 00000000..921622d5 Binary files /dev/null and b/Plugins/UnrealCLR/Managed/Microsoft.Extensions.DependencyModel.dll differ diff --git a/Plugins/UnrealCLR/Managed/UnrealEngine.Plugins.dll b/Plugins/UnrealCLR/Managed/UnrealEngine.Plugins.dll new file mode 100644 index 00000000..e9df7e11 Binary files /dev/null and b/Plugins/UnrealCLR/Managed/UnrealEngine.Plugins.dll differ diff --git a/Plugins/UnrealCLR/Managed/UnrealEngine.Plugins.pdb b/Plugins/UnrealCLR/Managed/UnrealEngine.Plugins.pdb new file mode 100644 index 00000000..d6ed6328 Binary files /dev/null and b/Plugins/UnrealCLR/Managed/UnrealEngine.Plugins.pdb differ diff --git a/Plugins/UnrealCLR/Managed/UnrealEngine.Runtime.deps.json b/Plugins/UnrealCLR/Managed/UnrealEngine.Runtime.deps.json new file mode 100644 index 00000000..c1cf0890 --- /dev/null +++ b/Plugins/UnrealCLR/Managed/UnrealEngine.Runtime.deps.json @@ -0,0 +1,74 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v5.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v5.0": { + "UnrealEngine.Runtime/1.0.0": { + "dependencies": { + "Microsoft.CodeAnalysis.NetAnalyzers": "5.0.3", + "UnrealEngine.Plugins": "1.0.0.0" + }, + "runtime": { + "UnrealEngine.Runtime.dll": {} + } + }, + "Microsoft.CodeAnalysis.NetAnalyzers/5.0.3": {}, + "UnrealEngine.Plugins/1.0.0.0": { + "runtime": { + "UnrealEngine.Plugins.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Microsoft.Extensions.DependencyModel/5.0.0.0": { + "runtime": { + "Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.20.51904" + } + } + }, + "Microsoft.DotNet.PlatformAbstractions/3.1.6.0": { + "runtime": { + "Microsoft.DotNet.PlatformAbstractions.dll": { + "assemblyVersion": "3.1.6.0", + "fileVersion": "3.100.620.31604" + } + } + } + } + }, + "libraries": { + "UnrealEngine.Runtime/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.CodeAnalysis.NetAnalyzers/5.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7rw0JUPSAVGR0HPekQiQvwGPor44p/Ek21+wZABraG4bVYNrSkx98ZZsxSxG5jJ4oqjACJxea8E62UO0dsKDBw==", + "path": "microsoft.codeanalysis.netanalyzers/5.0.3", + "hashPath": "microsoft.codeanalysis.netanalyzers.5.0.3.nupkg.sha512" + }, + "UnrealEngine.Plugins/1.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.DependencyModel/5.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + }, + "Microsoft.DotNet.PlatformAbstractions/3.1.6.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Plugins/UnrealCLR/Managed/UnrealEngine.Runtime.dll b/Plugins/UnrealCLR/Managed/UnrealEngine.Runtime.dll new file mode 100644 index 00000000..13eb6919 Binary files /dev/null and b/Plugins/UnrealCLR/Managed/UnrealEngine.Runtime.dll differ diff --git a/Plugins/UnrealCLR/Managed/UnrealEngine.Runtime.pdb b/Plugins/UnrealCLR/Managed/UnrealEngine.Runtime.pdb new file mode 100644 index 00000000..a9ce7977 Binary files /dev/null and b/Plugins/UnrealCLR/Managed/UnrealEngine.Runtime.pdb differ diff --git a/Plugins/UnrealCLR/Managed/UnrealEngine.Runtime.runtimeconfig.json b/Plugins/UnrealCLR/Managed/UnrealEngine.Runtime.runtimeconfig.json new file mode 100644 index 00000000..ebf64f4d --- /dev/null +++ b/Plugins/UnrealCLR/Managed/UnrealEngine.Runtime.runtimeconfig.json @@ -0,0 +1,14 @@ +{ + "runtimeOptions": { + "tfm": "net5.0", + "rollForward": "LatestMinor", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "5.0.0" + }, + "configProperties": { + "System.GC.Server": false, + "System.Runtime.TieredCompilation": false + } + } +} \ No newline at end of file diff --git a/Plugins/UnrealCLR/Resources/Icon128.png b/Plugins/UnrealCLR/Resources/Icon128.png new file mode 100644 index 00000000..d409f7d7 Binary files /dev/null and b/Plugins/UnrealCLR/Resources/Icon128.png differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/LICENSE.txt b/Plugins/UnrealCLR/Runtime/Linux/LICENSE.txt new file mode 100644 index 00000000..984713a4 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Linux/LICENSE.txt @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Plugins/UnrealCLR/Runtime/Linux/ThirdPartyNotices.txt b/Plugins/UnrealCLR/Runtime/Linux/ThirdPartyNotices.txt new file mode 100644 index 00000000..b8d644c4 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Linux/ThirdPartyNotices.txt @@ -0,0 +1,1219 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/aspnet/AspNetCore/blob/master/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2020 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +http://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 + + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" +--------------------------------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, or Digital Equipment Corporation be used in advertising +or publicity pertaining to distribution of the software without +specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment +Corporation makes any representations about the suitability of +this software for any purpose. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash Library +Copyright (c) 2012-2014, Yann Collet +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xorshift RNGs +-------------------------------- + +George Marsaglia +2003-07-04 +Journal of Statistical Software +License: http://creativecommons.org/licenses/by/3.0/ + +https://www.jstatsoft.org/article/view/v008i14 +https://www.jstatsoft.org/index.php/jss/article/view/v008i14/xorshift.pdf + +License notice for Xorshift (Wikipedia) +--------------------------------------- + +https://en.wikipedia.org/wiki/Xorshift +License: https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License + +License for fastmod (https://github.com/lemire/fastmod) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for Angular v8.0 +-------------------------------------------- +The MIT License (MIT) +===================== + +Copyright (c) 2010-2019 Google LLC. http://angular.io/license + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for corefx + +License notice for BedrockFramework +=================================== + +MIT License + +Copyright (c) 2019 David Fowler + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for Swashbuckle +=================================== + +The MIT License (MIT) + +Copyright (c) 2016 Richard Morris + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for cli-spinners +============================================= + +MIT License + +Copyright (c) Sindre Sorhus (https://sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for dotnet-deb-tool +------------------------------------ + +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for IIS-Common +------------------------------------ + +MIT License + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for IIS-Setup +------------------------------------ + +MIT License + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for LZMA SDK +--------------------------- + +http://7-zip.org/sdk.html + +LZMA SDK is placed in the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or distribute the +original LZMA SDK code, either in source code form or as a compiled binary, +for any purpose, commercial or non-commercial, and by any means. + +License notice for MonoDevelop +------------------------------ + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Nuget.Client +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +these files except in compliance with the License. You may obtain a copy of the +License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for Ookie.Dialogs +-------------------------------- + +http://www.ookii.org/software/dialogs/ + +Copyright © Sven Groot (Ookii.org) 2009 +All rights reserved. + + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1) Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2) Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3) Neither the name of the ORGANIZATION nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +License notice for viz.js +------------------------------------ + +Copyright (c) 2014-2018 Michael Daines + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for West Wind Live Reload ASP.NET Core Middleware +============================================= + + + +--- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +MIT License +----------- + +Copyright (c) 2019-2020 West Wind Technologies + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/Plugins/UnrealCLR/Runtime/Linux/host/fxr/5.0.9/libhostfxr.so b/Plugins/UnrealCLR/Runtime/Linux/host/fxr/5.0.9/libhostfxr.so new file mode 100644 index 00000000..758a5ab2 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/host/fxr/5.0.9/libhostfxr.so differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/.version b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/.version new file mode 100644 index 00000000..aaa309c1 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/.version @@ -0,0 +1,2 @@ +208e377a5329ad6eb1db5e5fb9d4590fa50beadd +5.0.9 diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll new file mode 100644 index 00000000..b1f0bec7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json new file mode 100644 index 00000000..493ef01b --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json @@ -0,0 +1,5755 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v5.0/linux-x64", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v5.0": {}, + ".NETCoreApp,Version=v5.0/linux-x64": { + "Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": {}, + "Microsoft.DiaSymReader.Native/1.7.0": {}, + "Microsoft.DotNet.Build.Tasks.Installers/5.0.0-beta.21328.3": {}, + "Microsoft.DotNet.Build.Tasks.Packaging/5.0.0-beta.21328.3": {}, + "Microsoft.Net.Compilers.Toolset/3.8.0-4.20503.2": {}, + "Microsoft.NETCore.App/5.0.9-servicing.21359.8": { + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0" + } + }, + "Microsoft.NETCore.App.Internal/5.0.9-servicing.21359.8": { + "dependencies": { + "Microsoft.NETCore.DotNetHostPolicy": "5.0.9", + "Microsoft.NETCore.Platforms": "5.0.0", + "Microsoft.NETCore.Targets": "5.0.0", + "NETStandard.Library": "2.2.0-prerelease.19564.1", + "runtime.linux-x64.Microsoft.NETCore.App": "5.0.9-servicing.21359.8" + } + }, + "Microsoft.NETCore.DotNetHostPolicy/5.0.9": { + "dependencies": { + "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy": "5.0.9" + } + }, + "Microsoft.NETCore.Platforms/5.0.0": {}, + "Microsoft.NETCore.Targets/5.0.0": {}, + "Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2": {}, + "Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": { + "dependencies": { + "Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02", + "Microsoft.SourceLink.Common": "1.1.0-beta-20206-02" + } + }, + "Microsoft.SourceLink.Common/1.1.0-beta-20206-02": {}, + "Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": { + "dependencies": { + "Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02", + "Microsoft.SourceLink.Common": "1.1.0-beta-20206-02" + } + }, + "NETStandard.Library/2.2.0-prerelease.19564.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0" + } + }, + "runtime.linux-x64.Microsoft.NETCore.App/5.0.9-servicing.21359.8": { + "runtime": { + "runtimes/linux-x64/lib/net5.0/Microsoft.CSharp.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/Microsoft.VisualBasic.Core.dll": { + "assemblyVersion": "10.0.6.0", + "fileVersion": "11.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/Microsoft.VisualBasic.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/Microsoft.Win32.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/Microsoft.Win32.Registry.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.AppContext.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Buffers.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Collections.Concurrent.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Collections.Immutable.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Collections.NonGeneric.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Collections.Specialized.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Collections.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.ComponentModel.Annotations.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.ComponentModel.DataAnnotations.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.ComponentModel.EventBasedAsync.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.ComponentModel.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.ComponentModel.TypeConverter.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.ComponentModel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Configuration.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Console.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Core.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Data.Common.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Data.DataSetExtensions.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Data.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Diagnostics.Contracts.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Diagnostics.Debug.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Diagnostics.FileVersionInfo.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Diagnostics.Process.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Diagnostics.StackTrace.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Diagnostics.TextWriterTraceListener.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Diagnostics.Tools.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Diagnostics.TraceSource.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Diagnostics.Tracing.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Drawing.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Drawing.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Dynamic.Runtime.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Formats.Asn1.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Globalization.Calendars.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Globalization.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Globalization.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.Compression.Brotli.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.Compression.FileSystem.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.Compression.ZipFile.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.Compression.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.FileSystem.AccessControl.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.FileSystem.DriveInfo.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.FileSystem.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.FileSystem.Watcher.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.FileSystem.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.IsolatedStorage.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.MemoryMappedFiles.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.Pipes.AccessControl.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.Pipes.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.UnmanagedMemoryStream.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.IO.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Linq.Expressions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Linq.Parallel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Linq.Queryable.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Linq.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Memory.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.Http.Json.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.Http.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.HttpListener.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.Mail.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.NameResolution.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.NetworkInformation.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.Ping.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.Requests.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.Security.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.ServicePoint.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.Sockets.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.WebClient.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.WebHeaderCollection.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.WebProxy.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.WebSockets.Client.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.WebSockets.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Net.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Numerics.Vectors.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Numerics.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.ObjectModel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Private.DataContractSerialization.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Private.Uri.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Private.Xml.Linq.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Private.Xml.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Reflection.DispatchProxy.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Reflection.Emit.ILGeneration.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Reflection.Emit.Lightweight.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Reflection.Emit.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Reflection.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Reflection.Metadata.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Reflection.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Reflection.TypeExtensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Reflection.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Resources.Reader.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Resources.ResourceManager.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Resources.Writer.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.CompilerServices.VisualC.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.Handles.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.InteropServices.RuntimeInformation.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.InteropServices.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.Intrinsics.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.Loader.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.Numerics.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.Serialization.Formatters.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.Serialization.Json.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.Serialization.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.Serialization.Xml.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.Serialization.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Runtime.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.AccessControl.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.Claims.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.Algorithms.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.Cng.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.Csp.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.Encoding.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.OpenSsl.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.Cryptography.X509Certificates.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.Principal.Windows.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.Principal.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.SecureString.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Security.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.ServiceModel.Web.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.ServiceProcess.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Text.Encoding.CodePages.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Text.Encoding.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Text.Encoding.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Text.Encodings.Web.dll": { + "assemblyVersion": "5.0.0.1", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Text.Json.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Text.RegularExpressions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Threading.Channels.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Threading.Overlapped.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Threading.Tasks.Dataflow.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Threading.Tasks.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Threading.Tasks.Parallel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Threading.Tasks.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Threading.Thread.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Threading.ThreadPool.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Threading.Timer.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Threading.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Transactions.Local.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Transactions.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.ValueTuple.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Web.HttpUtility.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Web.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Windows.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Xml.Linq.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Xml.ReaderWriter.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Xml.Serialization.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Xml.XDocument.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Xml.XPath.XDocument.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Xml.XPath.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Xml.XmlDocument.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Xml.XmlSerializer.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.Xml.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/System.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/WindowsBase.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/mscorlib.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/lib/net5.0/netstandard.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "5.0.921.35908" + } + }, + "native": { + "runtimes/linux-x64/native/System.Private.CoreLib.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/linux-x64/native/createdump": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libSystem.IO.Compression.Native.a": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libSystem.IO.Compression.Native.so": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libSystem.Native.a": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libSystem.Native.so": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libSystem.Net.Security.Native.a": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libSystem.Net.Security.Native.so": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libSystem.Security.Cryptography.Native.OpenSsl.a": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libSystem.Security.Cryptography.Native.OpenSsl.so": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libclrjit.so": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libcoreclr.so": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libcoreclrtraceptprovider.so": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libdbgshim.so": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libmscordaccore.so": { + "fileVersion": "0.0.0.0" + }, + "runtimes/linux-x64/native/libmscordbi.so": { + "fileVersion": "0.0.0.0" + } + } + }, + "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.9": { + "native": { + "runtimes/linux-x64/native/libhostpolicy.so": { + "fileVersion": "0.0.0.0" + } + } + } + } + }, + "libraries": { + "Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hZ9leS9Yd9MHpqvviMftSJFDcLYu2h1DrapW1TDm1s1fgOy71c8HvArNMd3fseVkXmp3VTfGnkgcw0FR+TI6xw==", + "path": "microsoft.build.tasks.git/1.1.0-beta-20206-02", + "hashPath": "microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg.sha512" + }, + "Microsoft.DiaSymReader.Native/1.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vIzndj0MoWW2Mp/iztUSKvmR9vZTqOVQ6PBvwA57+CDoiz7eUMU15rrAX+/QA0bkmwQ08GRibFBB9LNOl0EiBA==", + "path": "microsoft.diasymreader.native/1.7.0", + "hashPath": "microsoft.diasymreader.native.1.7.0.nupkg.sha512" + }, + "Microsoft.DotNet.Build.Tasks.Installers/5.0.0-beta.21328.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-68fxMTtraSXCUYZx7vNVb9PvIJ9FhPjymbvrkl/6h7S/NlQz6bxyZksTd6ghMs4gyQLHRCuDX/O/dT6Gd6qIag==", + "path": "microsoft.dotnet.build.tasks.installers/5.0.0-beta.21328.3", + "hashPath": "microsoft.dotnet.build.tasks.installers.5.0.0-beta.21328.3.nupkg.sha512" + }, + "Microsoft.DotNet.Build.Tasks.Packaging/5.0.0-beta.21328.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswwdycY3QmJ3DvyOGVMHDdZxxnE76MQFWZWqhniJqgbXPefQnXvDF4YXgCPnAENDYtsjohpaav1XDEyt84UHw==", + "path": "microsoft.dotnet.build.tasks.packaging/5.0.0-beta.21328.3", + "hashPath": "microsoft.dotnet.build.tasks.packaging.5.0.0-beta.21328.3.nupkg.sha512" + }, + "Microsoft.Net.Compilers.Toolset/3.8.0-4.20503.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jfscID/5IHHPVVEbFCAJEUEWCeWNZCLwyBcUFG3/u44oiRd/aseDOYRzl3OnIIvcwzi0U2lSAs6Lt2+rdRIDMg==", + "path": "microsoft.net.compilers.toolset/3.8.0-4.20503.2", + "hashPath": "microsoft.net.compilers.toolset.3.8.0-4.20503.2.nupkg.sha512" + }, + "Microsoft.NETCore.App/5.0.9-servicing.21359.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dNmmZC388Q68OmuVYXyqSJBRuDRxsdLvbXeg2CSi6E27HqkkZH06rcDzgr/UH+o4GctsGSwAGbSVjEDigXFbog==", + "path": "microsoft.netcore.app/5.0.9-servicing.21359.8", + "hashPath": "microsoft.netcore.app.5.0.9-servicing.21359.8.nupkg.sha512" + }, + "Microsoft.NETCore.App.Internal/5.0.9-servicing.21359.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-87X5XiPwSaqvFP68pYvzk3FCufsWUzSL95F7Qudx2fcfwhr/Hu4A90AUhfFHftShB4Ai3jFnTKURz79fwpiBlQ==", + "path": "microsoft.netcore.app.internal/5.0.9-servicing.21359.8", + "hashPath": "microsoft.netcore.app.internal.5.0.9-servicing.21359.8.nupkg.sha512" + }, + "Microsoft.NETCore.DotNetHostPolicy/5.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/4xBihn6RZ0hVIOYfUkovhXFw/ScMJ/On81sUHdGdau06/c/aD8abz7ulzbeaN469kkTy3ZqzuLPromTvuXBIQ==" + }, + "Microsoft.NETCore.Platforms/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==", + "path": "microsoft.netcore.platforms/5.0.0", + "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XpSaRv9/+V4KQ5KPbvRoArKy1o9WHizFEdOXPBLHXRZ0zwPGK5cTcWo1SveD7uayrfhod1uAAscip65qLeAjCw==", + "path": "microsoft.netcore.targets/5.0.0", + "hashPath": "microsoft.netcore.targets.5.0.0.nupkg.sha512" + }, + "Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m+pJPEO7HyXvrOna5Sr3s77ewXonjYWJTNL6drh8xACnMNxnlqUDKx9HfGeSE9wmfY0lQwppaeZpFTPGaH7kZg==", + "path": "microsoft.netframework.referenceassemblies/1.0.0-preview.2", + "hashPath": "microsoft.netframework.referenceassemblies.1.0.0-preview.2.nupkg.sha512" + }, + "Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vVYhSds9TfraTQkGHHMDMVWnr3kCkTZ7vmqUmrXQBDJFXiWTuMoP5RRa9s1M/KmgB4szi5TOb7sOaHWKDT9qDA==", + "path": "microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02", + "hashPath": "microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg.sha512" + }, + "Microsoft.SourceLink.Common/1.1.0-beta-20206-02": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aek0RTQ+4Bf11WvqaXajwYoaBWkX2edBjAr5XJOvhAsHX6/9vPOb7IpHAiE/NyCse7IcpGWslJZHNkv4UBEFqw==", + "path": "microsoft.sourcelink.common/1.1.0-beta-20206-02", + "hashPath": "microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg.sha512" + }, + "Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7A7P0EwL+lypaI/CEvG4IcpAlQeAt04uPPw1SO6Q9Jwz2nE9309pQXJ4TfP/RLL8IOObACidN66+gVR+bJDZHw==", + "path": "microsoft.sourcelink.github/1.1.0-beta-20206-02", + "hashPath": "microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg.sha512" + }, + "NETStandard.Library/2.2.0-prerelease.19564.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-y7Z0OKA/O5mW8aPEI4oXTSjinUTwGDwKEZMKTGdzb+vLgGRuvrZrs1YidcFN2kIKOo/11bOSNfKn4lsOLUWHkQ==", + "path": "netstandard.library/2.2.0-prerelease.19564.1", + "hashPath": "netstandard.library.2.2.0-prerelease.19564.1.nupkg.sha512" + }, + "runtime.linux-x64.Microsoft.NETCore.App/5.0.9-servicing.21359.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iLyxdBhbBxLe09HRhVRG883+QBdkwNhoNwKP8Nqpkg+OJpZ6iaIRnXgDt31g348siOIh89+IjnGeh0YmLlqylg==", + "path": "runtime.linux-x64.microsoft.netcore.app/5.0.9-servicing.21359.8", + "hashPath": "runtime.linux-x64.microsoft.netcore.app.5.0.9-servicing.21359.8.nupkg.sha512" + }, + "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IgeixSzmtJfCwGPRZ1AhjLOP+j/8j9r/qq5sX1FtEI9iAmgEhJMnRd1C5D+WuWbgZPxcXlMYtq/jy7ZOF9T/kQ==" + } + }, + "runtimes": { + "linux-arm": [ + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "linux-arm64": [ + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "linux-musl-arm": [ + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "linux-musl-arm64": [ + "linux-musl", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "linux-musl-x64": [ + "linux-musl", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "linux-x64": [ + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "tizen.4.0.0-armel": [ + "tizen.4.0.0", + "tizen-armel", + "tizen", + "linux-armel", + "linux", + "unix-armel", + "unix", + "any", + "base" + ], + "tizen.5.0.0-armel": [ + "tizen.5.0.0", + "tizen.4.0.0-armel", + "tizen.4.0.0", + "tizen-armel", + "tizen", + "linux-armel", + "linux", + "unix-armel", + "unix", + "any", + "base" + ], + "alpine": [ + "linux-musl", + "linux", + "unix", + "any", + "base" + ], + "alpine-arm": [ + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "alpine-arm64": [ + "alpine", + "linux-musl-arm64", + "linux-musl", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "alpine-x64": [ + "alpine", + "linux-musl-x64", + "linux-musl", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "alpine.3.10": [ + "alpine.3.9", + "alpine.3.8", + "alpine.3.7", + "alpine.3.6", + "alpine", + "linux-musl", + "linux", + "unix", + "any", + "base" + ], + "alpine.3.10-arm": [ + "alpine.3.10", + "alpine.3.9-arm", + "alpine.3.9", + "alpine.3.8-arm", + "alpine.3.8", + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "alpine.3.10-arm64": [ + "alpine.3.10", + "alpine.3.9-arm64", + "alpine.3.9", + "alpine.3.8-arm64", + "alpine.3.8", + "alpine.3.7-arm64", + "alpine.3.7", + "alpine.3.6-arm64", + "alpine.3.6", + "alpine-arm64", + "alpine", + "linux-musl-arm64", + "linux-musl", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "alpine.3.10-x64": [ + "alpine.3.10", + "alpine.3.9-x64", + "alpine.3.9", + "alpine.3.8-x64", + "alpine.3.8", + "alpine.3.7-x64", + "alpine.3.7", + "alpine.3.6-x64", + "alpine.3.6", + "alpine-x64", + "alpine", + "linux-musl-x64", + "linux-musl", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "alpine.3.11": [ + "alpine.3.10", + "alpine.3.9", + "alpine.3.8", + "alpine.3.7", + "alpine.3.6", + "alpine", + "linux-musl", + "linux", + "unix", + "any", + "base" + ], + "alpine.3.11-arm": [ + "alpine.3.11", + "alpine.3.10-arm", + "alpine.3.10", + "alpine.3.9-arm", + "alpine.3.9", + "alpine.3.8-arm", + "alpine.3.8", + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "alpine.3.11-arm64": [ + "alpine.3.11", + "alpine.3.10-arm64", + "alpine.3.10", + "alpine.3.9-arm64", + "alpine.3.9", + "alpine.3.8-arm64", + "alpine.3.8", + "alpine.3.7-arm64", + "alpine.3.7", + "alpine.3.6-arm64", + "alpine.3.6", + "alpine-arm64", + "alpine", + "linux-musl-arm64", + "linux-musl", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "alpine.3.11-x64": [ + "alpine.3.11", + "alpine.3.10-x64", + "alpine.3.10", + "alpine.3.9-x64", + "alpine.3.9", + "alpine.3.8-x64", + "alpine.3.8", + "alpine.3.7-x64", + "alpine.3.7", + "alpine.3.6-x64", + "alpine.3.6", + "alpine-x64", + "alpine", + "linux-musl-x64", + "linux-musl", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "alpine.3.12": [ + "alpine.3.11", + "alpine.3.10", + "alpine.3.9", + "alpine.3.8", + "alpine.3.7", + "alpine.3.6", + "alpine", + "linux-musl", + "linux", + "unix", + "any", + "base" + ], + "alpine.3.12-arm": [ + "alpine.3.12", + "alpine.3.11-arm", + "alpine.3.11", + "alpine.3.10-arm", + "alpine.3.10", + "alpine.3.9-arm", + "alpine.3.9", + "alpine.3.8-arm", + "alpine.3.8", + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "alpine.3.12-arm64": [ + "alpine.3.12", + "alpine.3.11-arm64", + "alpine.3.11", + "alpine.3.10-arm64", + "alpine.3.10", + "alpine.3.9-arm64", + "alpine.3.9", + "alpine.3.8-arm64", + "alpine.3.8", + "alpine.3.7-arm64", + "alpine.3.7", + "alpine.3.6-arm64", + "alpine.3.6", + "alpine-arm64", + "alpine", + "linux-musl-arm64", + "linux-musl", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "alpine.3.12-x64": [ + "alpine.3.12", + "alpine.3.11-x64", + "alpine.3.11", + "alpine.3.10-x64", + "alpine.3.10", + "alpine.3.9-x64", + "alpine.3.9", + "alpine.3.8-x64", + "alpine.3.8", + "alpine.3.7-x64", + "alpine.3.7", + "alpine.3.6-x64", + "alpine.3.6", + "alpine-x64", + "alpine", + "linux-musl-x64", + "linux-musl", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "alpine.3.6": [ + "alpine", + "linux-musl", + "linux", + "unix", + "any", + "base" + ], + "alpine.3.6-arm": [ + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "alpine.3.6-arm64": [ + "alpine.3.6", + "alpine-arm64", + "alpine", + "linux-musl-arm64", + "linux-musl", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "alpine.3.6-x64": [ + "alpine.3.6", + "alpine-x64", + "alpine", + "linux-musl-x64", + "linux-musl", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "alpine.3.7": [ + "alpine.3.6", + "alpine", + "linux-musl", + "linux", + "unix", + "any", + "base" + ], + "alpine.3.7-arm": [ + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "alpine.3.7-arm64": [ + "alpine.3.7", + "alpine.3.6-arm64", + "alpine.3.6", + "alpine-arm64", + "alpine", + "linux-musl-arm64", + "linux-musl", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "alpine.3.7-x64": [ + "alpine.3.7", + "alpine.3.6-x64", + "alpine.3.6", + "alpine-x64", + "alpine", + "linux-musl-x64", + "linux-musl", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "alpine.3.8": [ + "alpine.3.7", + "alpine.3.6", + "alpine", + "linux-musl", + "linux", + "unix", + "any", + "base" + ], + "alpine.3.8-arm": [ + "alpine.3.8", + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "alpine.3.8-arm64": [ + "alpine.3.8", + "alpine.3.7-arm64", + "alpine.3.7", + "alpine.3.6-arm64", + "alpine.3.6", + "alpine-arm64", + "alpine", + "linux-musl-arm64", + "linux-musl", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "alpine.3.8-x64": [ + "alpine.3.8", + "alpine.3.7-x64", + "alpine.3.7", + "alpine.3.6-x64", + "alpine.3.6", + "alpine-x64", + "alpine", + "linux-musl-x64", + "linux-musl", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "alpine.3.9": [ + "alpine.3.8", + "alpine.3.7", + "alpine.3.6", + "alpine", + "linux-musl", + "linux", + "unix", + "any", + "base" + ], + "alpine.3.9-arm": [ + "alpine.3.9", + "alpine.3.8-arm", + "alpine.3.8", + "alpine.3.7-arm", + "alpine.3.7", + "alpine.3.6-arm", + "alpine.3.6", + "alpine-arm", + "alpine", + "linux-musl-arm", + "linux-musl", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "alpine.3.9-arm64": [ + "alpine.3.9", + "alpine.3.8-arm64", + "alpine.3.8", + "alpine.3.7-arm64", + "alpine.3.7", + "alpine.3.6-arm64", + "alpine.3.6", + "alpine-arm64", + "alpine", + "linux-musl-arm64", + "linux-musl", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "alpine.3.9-x64": [ + "alpine.3.9", + "alpine.3.8-x64", + "alpine.3.8", + "alpine.3.7-x64", + "alpine.3.7", + "alpine.3.6-x64", + "alpine.3.6", + "alpine-x64", + "alpine", + "linux-musl-x64", + "linux-musl", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "android": [ + "linux", + "unix", + "any", + "base" + ], + "android-arm": [ + "android", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "android-arm64": [ + "android", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "android-x64": [ + "android", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "android-x86": [ + "android", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "android.21": [ + "android", + "linux", + "unix", + "any", + "base" + ], + "android.21-arm": [ + "android.21", + "android-arm", + "android", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "android.21-arm64": [ + "android.21", + "android-arm64", + "android", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "android.21-x64": [ + "android.21", + "android-x64", + "android", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "android.21-x86": [ + "android.21", + "android-x86", + "android", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "android.22": [ + "android.21", + "android", + "linux", + "unix", + "any", + "base" + ], + "android.22-arm": [ + "android.22", + "android.21-arm", + "android.21", + "android-arm", + "android", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "android.22-arm64": [ + "android.22", + "android.21-arm64", + "android.21", + "android-arm64", + "android", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "android.22-x64": [ + "android.22", + "android.21-x64", + "android.21", + "android-x64", + "android", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "android.22-x86": [ + "android.22", + "android.21-x86", + "android.21", + "android-x86", + "android", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "android.23": [ + "android.22", + "android.21", + "android", + "linux", + "unix", + "any", + "base" + ], + "android.23-arm": [ + "android.23", + "android.22-arm", + "android.22", + "android.21-arm", + "android.21", + "android-arm", + "android", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "android.23-arm64": [ + "android.23", + "android.22-arm64", + "android.22", + "android.21-arm64", + "android.21", + "android-arm64", + "android", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "android.23-x64": [ + "android.23", + "android.22-x64", + "android.22", + "android.21-x64", + "android.21", + "android-x64", + "android", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "android.23-x86": [ + "android.23", + "android.22-x86", + "android.22", + "android.21-x86", + "android.21", + "android-x86", + "android", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "android.24": [ + "android.23", + "android.22", + "android.21", + "android", + "linux", + "unix", + "any", + "base" + ], + "android.24-arm": [ + "android.24", + "android.23-arm", + "android.23", + "android.22-arm", + "android.22", + "android.21-arm", + "android.21", + "android-arm", + "android", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "android.24-arm64": [ + "android.24", + "android.23-arm64", + "android.23", + "android.22-arm64", + "android.22", + "android.21-arm64", + "android.21", + "android-arm64", + "android", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "android.24-x64": [ + "android.24", + "android.23-x64", + "android.23", + "android.22-x64", + "android.22", + "android.21-x64", + "android.21", + "android-x64", + "android", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "android.24-x86": [ + "android.24", + "android.23-x86", + "android.23", + "android.22-x86", + "android.22", + "android.21-x86", + "android.21", + "android-x86", + "android", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "android.25": [ + "android.24", + "android.23", + "android.22", + "android.21", + "android", + "linux", + "unix", + "any", + "base" + ], + "android.25-arm": [ + "android.25", + "android.24-arm", + "android.24", + "android.23-arm", + "android.23", + "android.22-arm", + "android.22", + "android.21-arm", + "android.21", + "android-arm", + "android", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "android.25-arm64": [ + "android.25", + "android.24-arm64", + "android.24", + "android.23-arm64", + "android.23", + "android.22-arm64", + "android.22", + "android.21-arm64", + "android.21", + "android-arm64", + "android", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "android.25-x64": [ + "android.25", + "android.24-x64", + "android.24", + "android.23-x64", + "android.23", + "android.22-x64", + "android.22", + "android.21-x64", + "android.21", + "android-x64", + "android", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "android.25-x86": [ + "android.25", + "android.24-x86", + "android.24", + "android.23-x86", + "android.23", + "android.22-x86", + "android.22", + "android.21-x86", + "android.21", + "android-x86", + "android", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "android.26": [ + "android.25", + "android.24", + "android.23", + "android.22", + "android.21", + "android", + "linux", + "unix", + "any", + "base" + ], + "android.26-arm": [ + "android.26", + "android.25-arm", + "android.25", + "android.24-arm", + "android.24", + "android.23-arm", + "android.23", + "android.22-arm", + "android.22", + "android.21-arm", + "android.21", + "android-arm", + "android", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "android.26-arm64": [ + "android.26", + "android.25-arm64", + "android.25", + "android.24-arm64", + "android.24", + "android.23-arm64", + "android.23", + "android.22-arm64", + "android.22", + "android.21-arm64", + "android.21", + "android-arm64", + "android", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "android.26-x64": [ + "android.26", + "android.25-x64", + "android.25", + "android.24-x64", + "android.24", + "android.23-x64", + "android.23", + "android.22-x64", + "android.22", + "android.21-x64", + "android.21", + "android-x64", + "android", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "android.26-x86": [ + "android.26", + "android.25-x86", + "android.25", + "android.24-x86", + "android.24", + "android.23-x86", + "android.23", + "android.22-x86", + "android.22", + "android.21-x86", + "android.21", + "android-x86", + "android", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "android.27": [ + "android.26", + "android.25", + "android.24", + "android.23", + "android.22", + "android.21", + "android", + "linux", + "unix", + "any", + "base" + ], + "android.27-arm": [ + "android.27", + "android.26-arm", + "android.26", + "android.25-arm", + "android.25", + "android.24-arm", + "android.24", + "android.23-arm", + "android.23", + "android.22-arm", + "android.22", + "android.21-arm", + "android.21", + "android-arm", + "android", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "android.27-arm64": [ + "android.27", + "android.26-arm64", + "android.26", + "android.25-arm64", + "android.25", + "android.24-arm64", + "android.24", + "android.23-arm64", + "android.23", + "android.22-arm64", + "android.22", + "android.21-arm64", + "android.21", + "android-arm64", + "android", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "android.27-x64": [ + "android.27", + "android.26-x64", + "android.26", + "android.25-x64", + "android.25", + "android.24-x64", + "android.24", + "android.23-x64", + "android.23", + "android.22-x64", + "android.22", + "android.21-x64", + "android.21", + "android-x64", + "android", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "android.27-x86": [ + "android.27", + "android.26-x86", + "android.26", + "android.25-x86", + "android.25", + "android.24-x86", + "android.24", + "android.23-x86", + "android.23", + "android.22-x86", + "android.22", + "android.21-x86", + "android.21", + "android-x86", + "android", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "android.28": [ + "android.27", + "android.26", + "android.25", + "android.24", + "android.23", + "android.22", + "android.21", + "android", + "linux", + "unix", + "any", + "base" + ], + "android.28-arm": [ + "android.28", + "android.27-arm", + "android.27", + "android.26-arm", + "android.26", + "android.25-arm", + "android.25", + "android.24-arm", + "android.24", + "android.23-arm", + "android.23", + "android.22-arm", + "android.22", + "android.21-arm", + "android.21", + "android-arm", + "android", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "android.28-arm64": [ + "android.28", + "android.27-arm64", + "android.27", + "android.26-arm64", + "android.26", + "android.25-arm64", + "android.25", + "android.24-arm64", + "android.24", + "android.23-arm64", + "android.23", + "android.22-arm64", + "android.22", + "android.21-arm64", + "android.21", + "android-arm64", + "android", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "android.28-x64": [ + "android.28", + "android.27-x64", + "android.27", + "android.26-x64", + "android.26", + "android.25-x64", + "android.25", + "android.24-x64", + "android.24", + "android.23-x64", + "android.23", + "android.22-x64", + "android.22", + "android.21-x64", + "android.21", + "android-x64", + "android", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "android.28-x86": [ + "android.28", + "android.27-x86", + "android.27", + "android.26-x86", + "android.26", + "android.25-x86", + "android.25", + "android.24-x86", + "android.24", + "android.23-x86", + "android.23", + "android.22-x86", + "android.22", + "android.21-x86", + "android.21", + "android-x86", + "android", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "android.29": [ + "android.28", + "android.27", + "android.26", + "android.25", + "android.24", + "android.23", + "android.22", + "android.21", + "android", + "linux", + "unix", + "any", + "base" + ], + "android.29-arm": [ + "android.29", + "android.28-arm", + "android.28", + "android.27-arm", + "android.27", + "android.26-arm", + "android.26", + "android.25-arm", + "android.25", + "android.24-arm", + "android.24", + "android.23-arm", + "android.23", + "android.22-arm", + "android.22", + "android.21-arm", + "android.21", + "android-arm", + "android", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "android.29-arm64": [ + "android.29", + "android.28-arm64", + "android.28", + "android.27-arm64", + "android.27", + "android.26-arm64", + "android.26", + "android.25-arm64", + "android.25", + "android.24-arm64", + "android.24", + "android.23-arm64", + "android.23", + "android.22-arm64", + "android.22", + "android.21-arm64", + "android.21", + "android-arm64", + "android", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "android.29-x64": [ + "android.29", + "android.28-x64", + "android.28", + "android.27-x64", + "android.27", + "android.26-x64", + "android.26", + "android.25-x64", + "android.25", + "android.24-x64", + "android.24", + "android.23-x64", + "android.23", + "android.22-x64", + "android.22", + "android.21-x64", + "android.21", + "android-x64", + "android", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "android.29-x86": [ + "android.29", + "android.28-x86", + "android.28", + "android.27-x86", + "android.27", + "android.26-x86", + "android.26", + "android.25-x86", + "android.25", + "android.24-x86", + "android.24", + "android.23-x86", + "android.23", + "android.22-x86", + "android.22", + "android.21-x86", + "android.21", + "android-x86", + "android", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "arch": [ + "linux", + "unix", + "any", + "base" + ], + "arch-x64": [ + "arch", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "centos": [ + "rhel", + "linux", + "unix", + "any", + "base" + ], + "centos-arm64": [ + "centos", + "rhel-arm64", + "rhel", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "centos-x64": [ + "centos", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "centos.7": [ + "centos", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "centos.7-x64": [ + "centos.7", + "centos-x64", + "rhel.7-x64", + "centos", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "centos.8": [ + "centos", + "rhel.8", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "centos.8-arm64": [ + "centos.8", + "centos-arm64", + "rhel.8-arm64", + "centos", + "rhel.8", + "rhel-arm64", + "rhel", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "centos.8-x64": [ + "centos.8", + "centos-x64", + "rhel.8-x64", + "centos", + "rhel.8", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "centos.9": [ + "centos", + "rhel.9", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "centos.9-arm64": [ + "centos.9", + "centos-arm64", + "rhel.9-arm64", + "centos", + "rhel.9", + "rhel-arm64", + "rhel", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "centos.9-x64": [ + "centos.9", + "centos-x64", + "rhel.9-x64", + "centos", + "rhel.9", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "debian": [ + "linux", + "unix", + "any", + "base" + ], + "debian-arm": [ + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "debian-arm64": [ + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "debian-armel": [ + "debian", + "linux-armel", + "linux", + "unix-armel", + "unix", + "any", + "base" + ], + "debian-x64": [ + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "debian-x86": [ + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "debian.10": [ + "debian", + "linux", + "unix", + "any", + "base" + ], + "debian.10-arm": [ + "debian.10", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "debian.10-arm64": [ + "debian.10", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "debian.10-armel": [ + "debian.10", + "debian-armel", + "debian", + "linux-armel", + "linux", + "unix-armel", + "unix", + "any", + "base" + ], + "debian.10-x64": [ + "debian.10", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "debian.10-x86": [ + "debian.10", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "debian.8": [ + "debian", + "linux", + "unix", + "any", + "base" + ], + "debian.8-arm": [ + "debian.8", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "debian.8-arm64": [ + "debian.8", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "debian.8-armel": [ + "debian.8", + "debian-armel", + "debian", + "linux-armel", + "linux", + "unix-armel", + "unix", + "any", + "base" + ], + "debian.8-x64": [ + "debian.8", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "debian.8-x86": [ + "debian.8", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "debian.9": [ + "debian", + "linux", + "unix", + "any", + "base" + ], + "debian.9-arm": [ + "debian.9", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "debian.9-arm64": [ + "debian.9", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "debian.9-armel": [ + "debian.9", + "debian-armel", + "debian", + "linux-armel", + "linux", + "unix-armel", + "unix", + "any", + "base" + ], + "debian.9-x64": [ + "debian.9", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "debian.9-x86": [ + "debian.9", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "fedora": [ + "linux", + "unix", + "any", + "base" + ], + "fedora-arm64": [ + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora-x64": [ + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "fedora.23": [ + "fedora", + "linux", + "unix", + "any", + "base" + ], + "fedora.23-arm64": [ + "fedora.23", + "fedora-arm64", + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora.23-x64": [ + "fedora.23", + "fedora-x64", + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "fedora.24": [ + "fedora", + "linux", + "unix", + "any", + "base" + ], + "fedora.24-arm64": [ + "fedora.24", + "fedora-arm64", + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora.24-x64": [ + "fedora.24", + "fedora-x64", + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "fedora.25": [ + "fedora", + "linux", + "unix", + "any", + "base" + ], + "fedora.25-arm64": [ + "fedora.25", + "fedora-arm64", + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora.25-x64": [ + "fedora.25", + "fedora-x64", + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "fedora.26": [ + "fedora", + "linux", + "unix", + "any", + "base" + ], + "fedora.26-arm64": [ + "fedora.26", + "fedora-arm64", + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora.26-x64": [ + "fedora.26", + "fedora-x64", + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "fedora.27": [ + "fedora", + "linux", + "unix", + "any", + "base" + ], + "fedora.27-arm64": [ + "fedora.27", + "fedora-arm64", + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora.27-x64": [ + "fedora.27", + "fedora-x64", + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "fedora.28": [ + "fedora", + "linux", + "unix", + "any", + "base" + ], + "fedora.28-arm64": [ + "fedora.28", + "fedora-arm64", + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora.28-x64": [ + "fedora.28", + "fedora-x64", + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "fedora.29": [ + "fedora", + "linux", + "unix", + "any", + "base" + ], + "fedora.29-arm64": [ + "fedora.29", + "fedora-arm64", + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora.29-x64": [ + "fedora.29", + "fedora-x64", + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "fedora.30": [ + "fedora", + "linux", + "unix", + "any", + "base" + ], + "fedora.30-arm64": [ + "fedora.30", + "fedora-arm64", + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora.30-x64": [ + "fedora.30", + "fedora-x64", + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "fedora.31": [ + "fedora", + "linux", + "unix", + "any", + "base" + ], + "fedora.31-arm64": [ + "fedora.31", + "fedora-arm64", + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora.31-x64": [ + "fedora.31", + "fedora-x64", + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "fedora.32": [ + "fedora", + "linux", + "unix", + "any", + "base" + ], + "fedora.32-arm64": [ + "fedora.32", + "fedora-arm64", + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora.32-x64": [ + "fedora.32", + "fedora-x64", + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "fedora.33": [ + "fedora", + "linux", + "unix", + "any", + "base" + ], + "fedora.33-arm64": [ + "fedora.33", + "fedora-arm64", + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora.33-x64": [ + "fedora.33", + "fedora-x64", + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "fedora.34": [ + "fedora", + "linux", + "unix", + "any", + "base" + ], + "fedora.34-arm64": [ + "fedora.34", + "fedora-arm64", + "fedora", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "fedora.34-x64": [ + "fedora.34", + "fedora-x64", + "fedora", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "gentoo": [ + "linux", + "unix", + "any", + "base" + ], + "gentoo-x64": [ + "gentoo", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "linux": [ + "unix", + "any", + "base" + ], + "linux-armel": [ + "linux", + "unix-armel", + "unix", + "any", + "base" + ], + "linux-musl": [ + "linux", + "unix", + "any", + "base" + ], + "linux-musl-armel": [ + "linux-musl", + "linux-armel", + "linux", + "unix-armel", + "unix", + "any", + "base" + ], + "linux-musl-x86": [ + "linux-musl", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "linux-x86": [ + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "linuxmint.17": [ + "ubuntu.14.04", + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "linuxmint.17-x64": [ + "linuxmint.17", + "ubuntu.14.04-x64", + "ubuntu.14.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "linuxmint.17.1": [ + "linuxmint.17", + "ubuntu.14.04", + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "linuxmint.17.1-x64": [ + "linuxmint.17.1", + "linuxmint.17-x64", + "linuxmint.17", + "ubuntu.14.04-x64", + "ubuntu.14.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "linuxmint.17.2": [ + "linuxmint.17.1", + "linuxmint.17", + "ubuntu.14.04", + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "linuxmint.17.2-x64": [ + "linuxmint.17.2", + "linuxmint.17.1-x64", + "linuxmint.17.1", + "linuxmint.17-x64", + "linuxmint.17", + "ubuntu.14.04-x64", + "ubuntu.14.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "linuxmint.17.3": [ + "linuxmint.17.2", + "linuxmint.17.1", + "linuxmint.17", + "ubuntu.14.04", + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "linuxmint.17.3-x64": [ + "linuxmint.17.3", + "linuxmint.17.2-x64", + "linuxmint.17.2", + "linuxmint.17.1-x64", + "linuxmint.17.1", + "linuxmint.17-x64", + "linuxmint.17", + "ubuntu.14.04-x64", + "ubuntu.14.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "linuxmint.18": [ + "ubuntu.16.04", + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "linuxmint.18-x64": [ + "linuxmint.18", + "ubuntu.16.04-x64", + "ubuntu.16.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "linuxmint.18.1": [ + "linuxmint.18", + "ubuntu.16.04", + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "linuxmint.18.1-x64": [ + "linuxmint.18.1", + "linuxmint.18-x64", + "linuxmint.18", + "ubuntu.16.04-x64", + "ubuntu.16.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "linuxmint.18.2": [ + "linuxmint.18.1", + "linuxmint.18", + "ubuntu.16.04", + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "linuxmint.18.2-x64": [ + "linuxmint.18.2", + "linuxmint.18.1-x64", + "linuxmint.18.1", + "linuxmint.18-x64", + "linuxmint.18", + "ubuntu.16.04-x64", + "ubuntu.16.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "linuxmint.18.3": [ + "linuxmint.18.2", + "linuxmint.18.1", + "linuxmint.18", + "ubuntu.16.04", + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "linuxmint.18.3-x64": [ + "linuxmint.18.3", + "linuxmint.18.2-x64", + "linuxmint.18.2", + "linuxmint.18.1-x64", + "linuxmint.18.1", + "linuxmint.18-x64", + "linuxmint.18", + "ubuntu.16.04-x64", + "ubuntu.16.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "linuxmint.19": [ + "ubuntu.18.04", + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "linuxmint.19-x64": [ + "linuxmint.19", + "ubuntu.18.04-x64", + "ubuntu.18.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "linuxmint.19.1": [ + "linuxmint.19", + "ubuntu.18.04", + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "linuxmint.19.1-x64": [ + "linuxmint.19.1", + "linuxmint.19-x64", + "linuxmint.19", + "ubuntu.18.04-x64", + "ubuntu.18.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "linuxmint.19.2": [ + "linuxmint.19.1", + "linuxmint.19", + "ubuntu.18.04", + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "linuxmint.19.2-x64": [ + "linuxmint.19.2", + "linuxmint.19.1-x64", + "linuxmint.19.1", + "linuxmint.19-x64", + "linuxmint.19", + "ubuntu.18.04-x64", + "ubuntu.18.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ol": [ + "rhel", + "linux", + "unix", + "any", + "base" + ], + "ol-x64": [ + "ol", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ol.7": [ + "ol", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "ol.7-x64": [ + "ol.7", + "ol-x64", + "rhel.7-x64", + "ol", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ol.7.0": [ + "ol.7", + "rhel.7.0", + "ol", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "ol.7.0-x64": [ + "ol.7.0", + "ol.7-x64", + "rhel.7.0-x64", + "ol.7", + "rhel.7.0", + "ol-x64", + "rhel.7-x64", + "ol", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ol.7.1": [ + "ol.7.0", + "rhel.7.1", + "ol.7", + "rhel.7.0", + "ol", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "ol.7.1-x64": [ + "ol.7.1", + "ol.7.0-x64", + "rhel.7.1-x64", + "ol.7.0", + "rhel.7.1", + "ol.7-x64", + "rhel.7.0-x64", + "ol.7", + "rhel.7.0", + "ol-x64", + "rhel.7-x64", + "ol", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ol.7.2": [ + "ol.7.1", + "rhel.7.2", + "ol.7.0", + "rhel.7.1", + "ol.7", + "rhel.7.0", + "ol", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "ol.7.2-x64": [ + "ol.7.2", + "ol.7.1-x64", + "rhel.7.2-x64", + "ol.7.1", + "rhel.7.2", + "ol.7.0-x64", + "rhel.7.1-x64", + "ol.7.0", + "rhel.7.1", + "ol.7-x64", + "rhel.7.0-x64", + "ol.7", + "rhel.7.0", + "ol-x64", + "rhel.7-x64", + "ol", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ol.7.3": [ + "ol.7.2", + "rhel.7.3", + "ol.7.1", + "rhel.7.2", + "ol.7.0", + "rhel.7.1", + "ol.7", + "rhel.7.0", + "ol", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "ol.7.3-x64": [ + "ol.7.3", + "ol.7.2-x64", + "rhel.7.3-x64", + "ol.7.2", + "rhel.7.3", + "ol.7.1-x64", + "rhel.7.2-x64", + "ol.7.1", + "rhel.7.2", + "ol.7.0-x64", + "rhel.7.1-x64", + "ol.7.0", + "rhel.7.1", + "ol.7-x64", + "rhel.7.0-x64", + "ol.7", + "rhel.7.0", + "ol-x64", + "rhel.7-x64", + "ol", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ol.7.4": [ + "ol.7.3", + "rhel.7.4", + "ol.7.2", + "rhel.7.3", + "ol.7.1", + "rhel.7.2", + "ol.7.0", + "rhel.7.1", + "ol.7", + "rhel.7.0", + "ol", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "ol.7.4-x64": [ + "ol.7.4", + "ol.7.3-x64", + "rhel.7.4-x64", + "ol.7.3", + "rhel.7.4", + "ol.7.2-x64", + "rhel.7.3-x64", + "ol.7.2", + "rhel.7.3", + "ol.7.1-x64", + "rhel.7.2-x64", + "ol.7.1", + "rhel.7.2", + "ol.7.0-x64", + "rhel.7.1-x64", + "ol.7.0", + "rhel.7.1", + "ol.7-x64", + "rhel.7.0-x64", + "ol.7", + "rhel.7.0", + "ol-x64", + "rhel.7-x64", + "ol", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ol.7.5": [ + "ol.7.4", + "rhel.7.5", + "ol.7.3", + "rhel.7.4", + "ol.7.2", + "rhel.7.3", + "ol.7.1", + "rhel.7.2", + "ol.7.0", + "rhel.7.1", + "ol.7", + "rhel.7.0", + "ol", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "ol.7.5-x64": [ + "ol.7.5", + "ol.7.4-x64", + "rhel.7.5-x64", + "ol.7.4", + "rhel.7.5", + "ol.7.3-x64", + "rhel.7.4-x64", + "ol.7.3", + "rhel.7.4", + "ol.7.2-x64", + "rhel.7.3-x64", + "ol.7.2", + "rhel.7.3", + "ol.7.1-x64", + "rhel.7.2-x64", + "ol.7.1", + "rhel.7.2", + "ol.7.0-x64", + "rhel.7.1-x64", + "ol.7.0", + "rhel.7.1", + "ol.7-x64", + "rhel.7.0-x64", + "ol.7", + "rhel.7.0", + "ol-x64", + "rhel.7-x64", + "ol", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ol.7.6": [ + "ol.7.5", + "rhel.7.6", + "ol.7.4", + "rhel.7.5", + "ol.7.3", + "rhel.7.4", + "ol.7.2", + "rhel.7.3", + "ol.7.1", + "rhel.7.2", + "ol.7.0", + "rhel.7.1", + "ol.7", + "rhel.7.0", + "ol", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "ol.7.6-x64": [ + "ol.7.6", + "ol.7.5-x64", + "rhel.7.6-x64", + "ol.7.5", + "rhel.7.6", + "ol.7.4-x64", + "rhel.7.5-x64", + "ol.7.4", + "rhel.7.5", + "ol.7.3-x64", + "rhel.7.4-x64", + "ol.7.3", + "rhel.7.4", + "ol.7.2-x64", + "rhel.7.3-x64", + "ol.7.2", + "rhel.7.3", + "ol.7.1-x64", + "rhel.7.2-x64", + "ol.7.1", + "rhel.7.2", + "ol.7.0-x64", + "rhel.7.1-x64", + "ol.7.0", + "rhel.7.1", + "ol.7-x64", + "rhel.7.0-x64", + "ol.7", + "rhel.7.0", + "ol-x64", + "rhel.7-x64", + "ol", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ol.8": [ + "ol", + "rhel.8", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "ol.8-x64": [ + "ol.8", + "ol-x64", + "rhel.8-x64", + "ol", + "rhel.8", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ol.8.0": [ + "ol.8", + "rhel.8.0", + "ol", + "rhel.8", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "ol.8.0-x64": [ + "ol.8.0", + "ol.8-x64", + "rhel.8.0-x64", + "ol.8", + "rhel.8.0", + "ol-x64", + "rhel.8-x64", + "ol", + "rhel.8", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "opensuse": [ + "linux", + "unix", + "any", + "base" + ], + "opensuse-x64": [ + "opensuse", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "opensuse.13.2": [ + "opensuse", + "linux", + "unix", + "any", + "base" + ], + "opensuse.13.2-x64": [ + "opensuse.13.2", + "opensuse-x64", + "opensuse", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "opensuse.15.0": [ + "opensuse", + "linux", + "unix", + "any", + "base" + ], + "opensuse.15.0-x64": [ + "opensuse.15.0", + "opensuse-x64", + "opensuse", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "opensuse.15.1": [ + "opensuse", + "linux", + "unix", + "any", + "base" + ], + "opensuse.15.1-x64": [ + "opensuse.15.1", + "opensuse-x64", + "opensuse", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "opensuse.42.1": [ + "opensuse", + "linux", + "unix", + "any", + "base" + ], + "opensuse.42.1-x64": [ + "opensuse.42.1", + "opensuse-x64", + "opensuse", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "opensuse.42.2": [ + "opensuse", + "linux", + "unix", + "any", + "base" + ], + "opensuse.42.2-x64": [ + "opensuse.42.2", + "opensuse-x64", + "opensuse", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "opensuse.42.3": [ + "opensuse", + "linux", + "unix", + "any", + "base" + ], + "opensuse.42.3-x64": [ + "opensuse.42.3", + "opensuse-x64", + "opensuse", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel": [ + "linux", + "unix", + "any", + "base" + ], + "rhel-arm64": [ + "rhel", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "rhel-x64": [ + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.6": [ + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.6-x64": [ + "rhel.6", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.7": [ + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.7-x64": [ + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.7.0": [ + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.7.0-x64": [ + "rhel.7.0", + "rhel.7-x64", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.7.1": [ + "rhel.7.0", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.7.1-x64": [ + "rhel.7.1", + "rhel.7.0-x64", + "rhel.7.0", + "rhel.7-x64", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.7.2": [ + "rhel.7.1", + "rhel.7.0", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.7.2-x64": [ + "rhel.7.2", + "rhel.7.1-x64", + "rhel.7.1", + "rhel.7.0-x64", + "rhel.7.0", + "rhel.7-x64", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.7.3": [ + "rhel.7.2", + "rhel.7.1", + "rhel.7.0", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.7.3-x64": [ + "rhel.7.3", + "rhel.7.2-x64", + "rhel.7.2", + "rhel.7.1-x64", + "rhel.7.1", + "rhel.7.0-x64", + "rhel.7.0", + "rhel.7-x64", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.7.4": [ + "rhel.7.3", + "rhel.7.2", + "rhel.7.1", + "rhel.7.0", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.7.4-x64": [ + "rhel.7.4", + "rhel.7.3-x64", + "rhel.7.3", + "rhel.7.2-x64", + "rhel.7.2", + "rhel.7.1-x64", + "rhel.7.1", + "rhel.7.0-x64", + "rhel.7.0", + "rhel.7-x64", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.7.5": [ + "rhel.7.4", + "rhel.7.3", + "rhel.7.2", + "rhel.7.1", + "rhel.7.0", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.7.5-x64": [ + "rhel.7.5", + "rhel.7.4-x64", + "rhel.7.4", + "rhel.7.3-x64", + "rhel.7.3", + "rhel.7.2-x64", + "rhel.7.2", + "rhel.7.1-x64", + "rhel.7.1", + "rhel.7.0-x64", + "rhel.7.0", + "rhel.7-x64", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.7.6": [ + "rhel.7.5", + "rhel.7.4", + "rhel.7.3", + "rhel.7.2", + "rhel.7.1", + "rhel.7.0", + "rhel.7", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.7.6-x64": [ + "rhel.7.6", + "rhel.7.5-x64", + "rhel.7.5", + "rhel.7.4-x64", + "rhel.7.4", + "rhel.7.3-x64", + "rhel.7.3", + "rhel.7.2-x64", + "rhel.7.2", + "rhel.7.1-x64", + "rhel.7.1", + "rhel.7.0-x64", + "rhel.7.0", + "rhel.7-x64", + "rhel.7", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.8": [ + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.8-arm64": [ + "rhel.8", + "rhel-arm64", + "rhel", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "rhel.8-x64": [ + "rhel.8", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.8.0": [ + "rhel.8", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.8.0-arm64": [ + "rhel.8.0", + "rhel.8-arm64", + "rhel.8", + "rhel-arm64", + "rhel", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "rhel.8.0-x64": [ + "rhel.8.0", + "rhel.8-x64", + "rhel.8", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.8.1": [ + "rhel.8.0", + "rhel.8", + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.8.1-arm64": [ + "rhel.8.1", + "rhel.8.0-arm64", + "rhel.8.0", + "rhel.8-arm64", + "rhel.8", + "rhel-arm64", + "rhel", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "rhel.8.1-x64": [ + "rhel.8.1", + "rhel.8.0-x64", + "rhel.8.0", + "rhel.8-x64", + "rhel.8", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "rhel.9": [ + "rhel", + "linux", + "unix", + "any", + "base" + ], + "rhel.9-arm64": [ + "rhel.9", + "rhel-arm64", + "rhel", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "rhel.9-x64": [ + "rhel.9", + "rhel-x64", + "rhel", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "sles": [ + "linux", + "unix", + "any", + "base" + ], + "sles-x64": [ + "sles", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "sles.12": [ + "sles", + "linux", + "unix", + "any", + "base" + ], + "sles.12-x64": [ + "sles.12", + "sles-x64", + "sles", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "sles.12.1": [ + "sles.12", + "sles", + "linux", + "unix", + "any", + "base" + ], + "sles.12.1-x64": [ + "sles.12.1", + "sles.12-x64", + "sles.12", + "sles-x64", + "sles", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "sles.12.2": [ + "sles.12.1", + "sles.12", + "sles", + "linux", + "unix", + "any", + "base" + ], + "sles.12.2-x64": [ + "sles.12.2", + "sles.12.1-x64", + "sles.12.1", + "sles.12-x64", + "sles.12", + "sles-x64", + "sles", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "sles.12.3": [ + "sles.12.2", + "sles.12.1", + "sles.12", + "sles", + "linux", + "unix", + "any", + "base" + ], + "sles.12.3-x64": [ + "sles.12.3", + "sles.12.2-x64", + "sles.12.2", + "sles.12.1-x64", + "sles.12.1", + "sles.12-x64", + "sles.12", + "sles-x64", + "sles", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "sles.12.4": [ + "sles.12.3", + "sles.12.2", + "sles.12.1", + "sles.12", + "sles", + "linux", + "unix", + "any", + "base" + ], + "sles.12.4-x64": [ + "sles.12.4", + "sles.12.3-x64", + "sles.12.3", + "sles.12.2-x64", + "sles.12.2", + "sles.12.1-x64", + "sles.12.1", + "sles.12-x64", + "sles.12", + "sles-x64", + "sles", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "sles.15": [ + "sles.12.4", + "sles.12.3", + "sles.12.2", + "sles.12.1", + "sles.12", + "sles", + "linux", + "unix", + "any", + "base" + ], + "sles.15-x64": [ + "sles.15", + "sles.12.4-x64", + "sles.12.4", + "sles.12.3-x64", + "sles.12.3", + "sles.12.2-x64", + "sles.12.2", + "sles.12.1-x64", + "sles.12.1", + "sles.12-x64", + "sles.12", + "sles-x64", + "sles", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "sles.15.1": [ + "sles.15", + "sles.12.4", + "sles.12.3", + "sles.12.2", + "sles.12.1", + "sles.12", + "sles", + "linux", + "unix", + "any", + "base" + ], + "sles.15.1-x64": [ + "sles.15.1", + "sles.15-x64", + "sles.15", + "sles.12.4-x64", + "sles.12.4", + "sles.12.3-x64", + "sles.12.3", + "sles.12.2-x64", + "sles.12.2", + "sles.12.1-x64", + "sles.12.1", + "sles.12-x64", + "sles.12", + "sles-x64", + "sles", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "tizen": [ + "linux", + "unix", + "any", + "base" + ], + "tizen-arm64": [ + "tizen", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "tizen-armel": [ + "tizen", + "linux-armel", + "linux", + "unix-armel", + "unix", + "any", + "base" + ], + "tizen-x86": [ + "tizen", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "tizen.4.0.0": [ + "tizen", + "linux", + "unix", + "any", + "base" + ], + "tizen.4.0.0-arm64": [ + "tizen.4.0.0", + "tizen-arm64", + "tizen", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "tizen.4.0.0-x86": [ + "tizen.4.0.0", + "tizen-x86", + "tizen", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "tizen.5.0.0": [ + "tizen.4.0.0", + "tizen", + "linux", + "unix", + "any", + "base" + ], + "tizen.5.0.0-arm64": [ + "tizen.5.0.0", + "tizen.4.0.0-arm64", + "tizen.4.0.0", + "tizen-arm64", + "tizen", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "tizen.5.0.0-x86": [ + "tizen.5.0.0", + "tizen.4.0.0-x86", + "tizen.4.0.0", + "tizen-x86", + "tizen", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "tizen.5.5.0": [ + "tizen.5.0.0", + "tizen.4.0.0", + "tizen", + "linux", + "unix", + "any", + "base" + ], + "tizen.5.5.0-arm64": [ + "tizen.5.5.0", + "tizen.5.0.0-arm64", + "tizen.5.0.0", + "tizen.4.0.0-arm64", + "tizen.4.0.0", + "tizen-arm64", + "tizen", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "tizen.5.5.0-armel": [ + "tizen.5.5.0", + "tizen.5.0.0-armel", + "tizen.5.0.0", + "tizen.4.0.0-armel", + "tizen.4.0.0", + "tizen-armel", + "tizen", + "linux-armel", + "linux", + "unix-armel", + "unix", + "any", + "base" + ], + "tizen.5.5.0-x86": [ + "tizen.5.5.0", + "tizen.5.0.0-x86", + "tizen.5.0.0", + "tizen.4.0.0-x86", + "tizen.4.0.0", + "tizen-x86", + "tizen", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "tizen.6.0.0": [ + "tizen.5.5.0", + "tizen.5.0.0", + "tizen.4.0.0", + "tizen", + "linux", + "unix", + "any", + "base" + ], + "tizen.6.0.0-arm64": [ + "tizen.6.0.0", + "tizen.5.5.0-arm64", + "tizen.5.5.0", + "tizen.5.0.0-arm64", + "tizen.5.0.0", + "tizen.4.0.0-arm64", + "tizen.4.0.0", + "tizen-arm64", + "tizen", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "tizen.6.0.0-armel": [ + "tizen.6.0.0", + "tizen.5.5.0-armel", + "tizen.5.5.0", + "tizen.5.0.0-armel", + "tizen.5.0.0", + "tizen.4.0.0-armel", + "tizen.4.0.0", + "tizen-armel", + "tizen", + "linux-armel", + "linux", + "unix-armel", + "unix", + "any", + "base" + ], + "tizen.6.0.0-x86": [ + "tizen.6.0.0", + "tizen.5.5.0-x86", + "tizen.5.5.0", + "tizen.5.0.0-x86", + "tizen.5.0.0", + "tizen.4.0.0-x86", + "tizen.4.0.0", + "tizen-x86", + "tizen", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu": [ + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu-arm": [ + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu-arm64": [ + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu-x64": [ + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu-x86": [ + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.14.04": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.14.04-arm": [ + "ubuntu.14.04", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.14.04-x64": [ + "ubuntu.14.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.14.04-x86": [ + "ubuntu.14.04", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.14.10": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.14.10-arm": [ + "ubuntu.14.10", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.14.10-x64": [ + "ubuntu.14.10", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.14.10-x86": [ + "ubuntu.14.10", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.15.04": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.15.04-arm": [ + "ubuntu.15.04", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.15.04-x64": [ + "ubuntu.15.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.15.04-x86": [ + "ubuntu.15.04", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.15.10": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.15.10-arm": [ + "ubuntu.15.10", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.15.10-x64": [ + "ubuntu.15.10", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.15.10-x86": [ + "ubuntu.15.10", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.16.04": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.16.04-arm": [ + "ubuntu.16.04", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.16.04-arm64": [ + "ubuntu.16.04", + "ubuntu-arm64", + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu.16.04-x64": [ + "ubuntu.16.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.16.04-x86": [ + "ubuntu.16.04", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.16.10": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.16.10-arm": [ + "ubuntu.16.10", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.16.10-arm64": [ + "ubuntu.16.10", + "ubuntu-arm64", + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu.16.10-x64": [ + "ubuntu.16.10", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.16.10-x86": [ + "ubuntu.16.10", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.17.04": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.17.04-arm": [ + "ubuntu.17.04", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.17.04-arm64": [ + "ubuntu.17.04", + "ubuntu-arm64", + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu.17.04-x64": [ + "ubuntu.17.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.17.04-x86": [ + "ubuntu.17.04", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.17.10": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.17.10-arm": [ + "ubuntu.17.10", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.17.10-arm64": [ + "ubuntu.17.10", + "ubuntu-arm64", + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu.17.10-x64": [ + "ubuntu.17.10", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.17.10-x86": [ + "ubuntu.17.10", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.18.04": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.18.04-arm": [ + "ubuntu.18.04", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.18.04-arm64": [ + "ubuntu.18.04", + "ubuntu-arm64", + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu.18.04-x64": [ + "ubuntu.18.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.18.04-x86": [ + "ubuntu.18.04", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.18.10": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.18.10-arm": [ + "ubuntu.18.10", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.18.10-arm64": [ + "ubuntu.18.10", + "ubuntu-arm64", + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu.18.10-x64": [ + "ubuntu.18.10", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.18.10-x86": [ + "ubuntu.18.10", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.19.04": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.19.04-arm": [ + "ubuntu.19.04", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.19.04-arm64": [ + "ubuntu.19.04", + "ubuntu-arm64", + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu.19.04-x64": [ + "ubuntu.19.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.19.04-x86": [ + "ubuntu.19.04", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.19.10": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.19.10-arm": [ + "ubuntu.19.10", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.19.10-arm64": [ + "ubuntu.19.10", + "ubuntu-arm64", + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu.19.10-x64": [ + "ubuntu.19.10", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.19.10-x86": [ + "ubuntu.19.10", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.20.04": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.20.04-arm": [ + "ubuntu.20.04", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.20.04-arm64": [ + "ubuntu.20.04", + "ubuntu-arm64", + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu.20.04-x64": [ + "ubuntu.20.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.20.04-x86": [ + "ubuntu.20.04", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.20.10": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.20.10-arm": [ + "ubuntu.20.10", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.20.10-arm64": [ + "ubuntu.20.10", + "ubuntu-arm64", + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu.20.10-x64": [ + "ubuntu.20.10", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.20.10-x86": [ + "ubuntu.20.10", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.21.04": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.21.04-arm": [ + "ubuntu.21.04", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.21.04-arm64": [ + "ubuntu.21.04", + "ubuntu-arm64", + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu.21.04-x64": [ + "ubuntu.21.04", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.21.04-x86": [ + "ubuntu.21.04", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ], + "ubuntu.21.10": [ + "ubuntu", + "debian", + "linux", + "unix", + "any", + "base" + ], + "ubuntu.21.10-arm": [ + "ubuntu.21.10", + "ubuntu-arm", + "ubuntu", + "debian-arm", + "debian", + "linux-arm", + "linux", + "unix-arm", + "unix", + "any", + "base" + ], + "ubuntu.21.10-arm64": [ + "ubuntu.21.10", + "ubuntu-arm64", + "ubuntu", + "debian-arm64", + "debian", + "linux-arm64", + "linux", + "unix-arm64", + "unix", + "any", + "base" + ], + "ubuntu.21.10-x64": [ + "ubuntu.21.10", + "ubuntu-x64", + "ubuntu", + "debian-x64", + "debian", + "linux-x64", + "linux", + "unix-x64", + "unix", + "any", + "base" + ], + "ubuntu.21.10-x86": [ + "ubuntu.21.10", + "ubuntu-x86", + "ubuntu", + "debian-x86", + "debian", + "linux-x86", + "linux", + "unix-x86", + "unix", + "any", + "base" + ] + } +} \ No newline at end of file diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll new file mode 100644 index 00000000..4495cac8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll new file mode 100644 index 00000000..7fe23e07 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll new file mode 100644 index 00000000..f99a1197 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll new file mode 100644 index 00000000..335557b9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll new file mode 100644 index 00000000..6b17fd4b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll new file mode 100644 index 00000000..931db0a8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll new file mode 100644 index 00000000..3dfd4db8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll new file mode 100644 index 00000000..525c1d7d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll new file mode 100644 index 00000000..2f42cd2b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll new file mode 100644 index 00000000..a1e78dcf Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll new file mode 100644 index 00000000..40fa0acc Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll new file mode 100644 index 00000000..7557164f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll new file mode 100644 index 00000000..6064512b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll new file mode 100644 index 00000000..37d7c1b4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll new file mode 100644 index 00000000..a9ea14f4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll new file mode 100644 index 00000000..2245b739 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll new file mode 100644 index 00000000..b8f9d575 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll new file mode 100644 index 00000000..7a0d53c3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll new file mode 100644 index 00000000..1040ddb0 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll new file mode 100644 index 00000000..5f7d73f5 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll new file mode 100644 index 00000000..8f04f510 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll new file mode 100644 index 00000000..736c9deb Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll new file mode 100644 index 00000000..69e21022 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll new file mode 100644 index 00000000..aa369b82 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll new file mode 100644 index 00000000..8d872833 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll new file mode 100644 index 00000000..f1a4d786 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll new file mode 100644 index 00000000..435ca1a8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll new file mode 100644 index 00000000..13feeca4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll new file mode 100644 index 00000000..2be32c7e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll new file mode 100644 index 00000000..bd3bd149 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll new file mode 100644 index 00000000..5350bf39 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll new file mode 100644 index 00000000..ce360b08 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll new file mode 100644 index 00000000..bef6678f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll new file mode 100644 index 00000000..0f571792 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll new file mode 100644 index 00000000..5d529fc6 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll new file mode 100644 index 00000000..68b00044 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll new file mode 100644 index 00000000..7cd893d5 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll new file mode 100644 index 00000000..438314b7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll new file mode 100644 index 00000000..b8a9d05f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll new file mode 100644 index 00000000..fbc8614d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll new file mode 100644 index 00000000..705e8054 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll new file mode 100644 index 00000000..dac6fcf4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll new file mode 100644 index 00000000..5aa8de56 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll new file mode 100644 index 00000000..6de00e28 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll new file mode 100644 index 00000000..b9410f60 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll new file mode 100644 index 00000000..d1255944 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll new file mode 100644 index 00000000..33ee91c7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll new file mode 100644 index 00000000..4a53b66c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll new file mode 100644 index 00000000..79155c7e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll new file mode 100644 index 00000000..10f51011 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll new file mode 100644 index 00000000..7afcd2df Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll new file mode 100644 index 00000000..077ff728 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll new file mode 100644 index 00000000..289f1a63 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll new file mode 100644 index 00000000..7fcda977 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll new file mode 100644 index 00000000..10f8d28c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll new file mode 100644 index 00000000..e02233fd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll new file mode 100644 index 00000000..46812cf3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll new file mode 100644 index 00000000..d54a64cc Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll new file mode 100644 index 00000000..fdfbd892 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll new file mode 100644 index 00000000..8046cbfb Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll new file mode 100644 index 00000000..1d4e2750 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll new file mode 100644 index 00000000..2c400386 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll new file mode 100644 index 00000000..89ade373 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll new file mode 100644 index 00000000..bd780037 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll new file mode 100644 index 00000000..1d5a1408 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll new file mode 100644 index 00000000..028ae732 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll new file mode 100644 index 00000000..a8241079 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll new file mode 100644 index 00000000..82dea1ed Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll new file mode 100644 index 00000000..f290f7bd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll new file mode 100644 index 00000000..38c5e6ad Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll new file mode 100644 index 00000000..abdf8508 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll new file mode 100644 index 00000000..f961452f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll new file mode 100644 index 00000000..7f9e94ec Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll new file mode 100644 index 00000000..6a504ca7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll new file mode 100644 index 00000000..93089df3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll new file mode 100644 index 00000000..fd9f160f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll new file mode 100644 index 00000000..8743ce5d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll new file mode 100644 index 00000000..a11597da Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll new file mode 100644 index 00000000..5d5036aa Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll new file mode 100644 index 00000000..4476efdd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll new file mode 100644 index 00000000..cd3c426e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll new file mode 100644 index 00000000..b937023b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll new file mode 100644 index 00000000..9704ee98 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll new file mode 100644 index 00000000..9375fa8b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll new file mode 100644 index 00000000..58ed14f9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll new file mode 100644 index 00000000..132bfa3b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll new file mode 100644 index 00000000..92e8b891 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll new file mode 100644 index 00000000..0c40c684 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll new file mode 100644 index 00000000..a2b5f3c8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll new file mode 100644 index 00000000..cf635048 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll new file mode 100644 index 00000000..d0600d56 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll new file mode 100644 index 00000000..8dc0133e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll new file mode 100644 index 00000000..4ba7ebdd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll new file mode 100644 index 00000000..337b77e5 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll new file mode 100644 index 00000000..3e419e9b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll new file mode 100644 index 00000000..36c68a2d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll new file mode 100644 index 00000000..62996a6a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll new file mode 100644 index 00000000..d587da73 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 00000000..e0d3a01a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll new file mode 100644 index 00000000..de493c5f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll new file mode 100644 index 00000000..1c056e29 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll new file mode 100644 index 00000000..0b269993 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll new file mode 100644 index 00000000..c01c6071 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll new file mode 100644 index 00000000..ef13508b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll new file mode 100644 index 00000000..f5d7d297 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll new file mode 100644 index 00000000..42b35778 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll new file mode 100644 index 00000000..f6911503 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll new file mode 100644 index 00000000..d3ffe2b8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll new file mode 100644 index 00000000..cfc968c3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll new file mode 100644 index 00000000..a2a078c6 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll new file mode 100644 index 00000000..dec58ac2 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll new file mode 100644 index 00000000..894973b4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll new file mode 100644 index 00000000..30e75c27 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll new file mode 100644 index 00000000..1acc5cb2 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll new file mode 100644 index 00000000..8d00e3b5 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll new file mode 100644 index 00000000..bea40847 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll new file mode 100644 index 00000000..f515863f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll new file mode 100644 index 00000000..142ead00 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll new file mode 100644 index 00000000..2e4d71ef Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll new file mode 100644 index 00000000..d45ccaf0 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll new file mode 100644 index 00000000..d4d0532c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll new file mode 100644 index 00000000..10a7efe0 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll new file mode 100644 index 00000000..aa272ac5 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll new file mode 100644 index 00000000..d1b06ae4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll new file mode 100644 index 00000000..9a39a5af Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll new file mode 100644 index 00000000..d479498d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll new file mode 100644 index 00000000..b2a6143e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll new file mode 100644 index 00000000..62898043 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll new file mode 100644 index 00000000..ab757a62 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll new file mode 100644 index 00000000..2f2922a0 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll new file mode 100644 index 00000000..1be729bd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll new file mode 100644 index 00000000..be442db1 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll new file mode 100644 index 00000000..760d72d1 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll new file mode 100644 index 00000000..6cb7b270 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll new file mode 100644 index 00000000..3a9600b5 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll new file mode 100644 index 00000000..cfce14ba Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll new file mode 100644 index 00000000..61a0979d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll new file mode 100644 index 00000000..1bf05f96 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll new file mode 100644 index 00000000..00199242 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll new file mode 100644 index 00000000..49ea14b8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll new file mode 100644 index 00000000..1cbe44c9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll new file mode 100644 index 00000000..3db728a5 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll new file mode 100644 index 00000000..15475d8f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll new file mode 100644 index 00000000..09c0d577 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll new file mode 100644 index 00000000..561ae66a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll new file mode 100644 index 00000000..b2aa2ee9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll new file mode 100644 index 00000000..5d5ca8b0 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll new file mode 100644 index 00000000..d260db05 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll new file mode 100644 index 00000000..de83b308 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll new file mode 100644 index 00000000..45bbaedd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll new file mode 100644 index 00000000..821b205f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll new file mode 100644 index 00000000..e31dc4aa Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll new file mode 100644 index 00000000..5fd1c77a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll new file mode 100644 index 00000000..97228e3a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll new file mode 100644 index 00000000..4e8ad697 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll new file mode 100644 index 00000000..fb8a2fe5 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll new file mode 100644 index 00000000..c291d87b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll new file mode 100644 index 00000000..b3096a54 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll new file mode 100644 index 00000000..4e155a26 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.dll new file mode 100644 index 00000000..fc60079e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/System.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll new file mode 100644 index 00000000..9c9b0685 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h new file mode 100644 index 00000000..914ab592 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#ifndef __CORECLR_DELEGATES_H__ +#define __CORECLR_DELEGATES_H__ + +#include + +#if defined(_WIN32) + #define CORECLR_DELEGATE_CALLTYPE __stdcall + #ifdef _WCHAR_T_DEFINED + typedef wchar_t char_t; + #else + typedef unsigned short char_t; + #endif +#else + #define CORECLR_DELEGATE_CALLTYPE + typedef char char_t; +#endif + +#define UNMANAGEDCALLERSONLY_METHOD ((const char_t*)-1) + +// Signature of delegate returned by coreclr_delegate_type::load_assembly_and_get_function_pointer +typedef int (CORECLR_DELEGATE_CALLTYPE *load_assembly_and_get_function_pointer_fn)( + const char_t *assembly_path /* Fully qualified path to assembly */, + const char_t *type_name /* Assembly qualified type name */, + const char_t *method_name /* Public static method name compatible with delegateType */, + const char_t *delegate_type_name /* Assembly qualified delegate type name or null + or UNMANAGEDCALLERSONLY_METHOD if the method is marked with + the UnmanagedCallersOnlyAttribute. */, + void *reserved /* Extensibility parameter (currently unused and must be 0) */, + /*out*/ void **delegate /* Pointer where to store the function pointer result */); + +// Signature of delegate returned by load_assembly_and_get_function_pointer_fn when delegate_type_name == null (default) +typedef int (CORECLR_DELEGATE_CALLTYPE *component_entry_point_fn)(void *arg, int32_t arg_size_in_bytes); + +typedef int (CORECLR_DELEGATE_CALLTYPE *get_function_pointer_fn)( + const char_t *type_name /* Assembly qualified type name */, + const char_t *method_name /* Public static method name compatible with delegateType */, + const char_t *delegate_type_name /* Assembly qualified delegate type name or null, + or UNMANAGEDCALLERSONLY_METHOD if the method is marked with + the UnmanagedCallersOnlyAttribute. */, + void *load_context /* Extensibility parameter (currently unused and must be 0) */, + void *reserved /* Extensibility parameter (currently unused and must be 0) */, + /*out*/ void **delegate /* Pointer where to store the function pointer result */); + +#endif // __CORECLR_DELEGATES_H__ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/createdump b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/createdump new file mode 100644 index 00000000..91eeed91 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/createdump differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h new file mode 100644 index 00000000..e062193c --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h @@ -0,0 +1,288 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#ifndef __HOSTFXR_H__ +#define __HOSTFXR_H__ + +#include +#include + +#if defined(_WIN32) + #define HOSTFXR_CALLTYPE __cdecl + #ifdef _WCHAR_T_DEFINED + typedef wchar_t char_t; + #else + typedef unsigned short char_t; + #endif +#else + #define HOSTFXR_CALLTYPE + typedef char char_t; +#endif + +enum hostfxr_delegate_type +{ + hdt_com_activation, + hdt_load_in_memory_assembly, + hdt_winrt_activation, + hdt_com_register, + hdt_com_unregister, + hdt_load_assembly_and_get_function_pointer, + hdt_get_function_pointer, +}; + +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_fn)(const int argc, const char_t **argv); +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_startupinfo_fn)( + const int argc, + const char_t **argv, + const char_t *host_path, + const char_t *dotnet_root, + const char_t *app_path); +typedef int32_t(HOSTFXR_CALLTYPE* hostfxr_main_bundle_startupinfo_fn)( + const int argc, + const char_t** argv, + const char_t* host_path, + const char_t* dotnet_root, + const char_t* app_path, + int64_t bundle_header_offset); + +typedef void(HOSTFXR_CALLTYPE *hostfxr_error_writer_fn)(const char_t *message); + +// +// Sets a callback which is to be used to write errors to. +// +// Parameters: +// error_writer +// A callback function which will be invoked every time an error is to be reported. +// Or nullptr to unregister previously registered callback and return to the default behavior. +// Return value: +// The previously registered callback (which is now unregistered), or nullptr if no previous callback +// was registered +// +// The error writer is registered per-thread, so the registration is thread-local. On each thread +// only one callback can be registered. Subsequent registrations overwrite the previous ones. +// +// By default no callback is registered in which case the errors are written to stderr. +// +// Each call to the error writer is sort of like writing a single line (the EOL character is omitted). +// Multiple calls to the error writer may occure for one failure. +// +// If the hostfxr invokes functions in hostpolicy as part of its operation, the error writer +// will be propagated to hostpolicy for the duration of the call. This means that errors from +// both hostfxr and hostpolicy will be reporter through the same error writer. +// +typedef hostfxr_error_writer_fn(HOSTFXR_CALLTYPE *hostfxr_set_error_writer_fn)(hostfxr_error_writer_fn error_writer); + +typedef void* hostfxr_handle; +struct hostfxr_initialize_parameters +{ + size_t size; + const char_t *host_path; + const char_t *dotnet_root; +}; + +// +// Initializes the hosting components for a dotnet command line running an application +// +// Parameters: +// argc +// Number of argv arguments +// argv +// Command-line arguments for running an application (as if through the dotnet executable). +// parameters +// Optional. Additional parameters for initialization +// host_context_handle +// On success, this will be populated with an opaque value representing the initialized host context +// +// Return value: +// Success - Hosting components were successfully initialized +// HostInvalidState - Hosting components are already initialized +// +// This function parses the specified command-line arguments to determine the application to run. It will +// then find the corresponding .runtimeconfig.json and .deps.json with which to resolve frameworks and +// dependencies and prepare everything needed to load the runtime. +// +// This function only supports arguments for running an application. It does not support SDK commands. +// +// This function does not load the runtime. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_dotnet_command_line_fn)( + int argc, + const char_t **argv, + const struct hostfxr_initialize_parameters *parameters, + /*out*/ hostfxr_handle *host_context_handle); + +// +// Initializes the hosting components using a .runtimeconfig.json file +// +// Parameters: +// runtime_config_path +// Path to the .runtimeconfig.json file +// parameters +// Optional. Additional parameters for initialization +// host_context_handle +// On success, this will be populated with an opaque value representing the initialized host context +// +// Return value: +// Success - Hosting components were successfully initialized +// Success_HostAlreadyInitialized - Config is compatible with already initialized hosting components +// Success_DifferentRuntimeProperties - Config has runtime properties that differ from already initialized hosting components +// CoreHostIncompatibleConfig - Config is incompatible with already initialized hosting components +// +// This function will process the .runtimeconfig.json to resolve frameworks and prepare everything needed +// to load the runtime. It will only process the .deps.json from frameworks (not any app/component that +// may be next to the .runtimeconfig.json). +// +// This function does not load the runtime. +// +// If called when the runtime has already been loaded, this function will check if the specified runtime +// config is compatible with the existing runtime. +// +// Both Success_HostAlreadyInitialized and Success_DifferentRuntimeProperties codes are considered successful +// initializations. In the case of Success_DifferentRuntimeProperties, it is left to the consumer to verify that +// the difference in properties is acceptable. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_runtime_config_fn)( + const char_t *runtime_config_path, + const struct hostfxr_initialize_parameters *parameters, + /*out*/ hostfxr_handle *host_context_handle); + +// +// Gets the runtime property value for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// name +// Runtime property name +// value +// Out parameter. Pointer to a buffer with the property value. +// +// Return value: +// The error code result. +// +// The buffer pointed to by value is owned by the host context. The lifetime of the buffer is only +// guaranteed until any of the below occur: +// - a 'run' method is called for the host context +// - properties are changed via hostfxr_set_runtime_property_value +// - the host context is closed via 'hostfxr_close' +// +// If host_context_handle is nullptr and an active host context exists, this function will get the +// property value for the active host context. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_property_value_fn)( + const hostfxr_handle host_context_handle, + const char_t *name, + /*out*/ const char_t **value); + +// +// Sets the value of a runtime property for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// name +// Runtime property name +// value +// Value to set +// +// Return value: +// The error code result. +// +// Setting properties is only supported for the first host context, before the runtime has been loaded. +// +// If the property already exists in the host context, it will be overwritten. If value is nullptr, the +// property will be removed. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_set_runtime_property_value_fn)( + const hostfxr_handle host_context_handle, + const char_t *name, + const char_t *value); + +// +// Gets all the runtime properties for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// count +// [in] Size of the keys and values buffers +// [out] Number of properties returned (size of keys/values buffers used). If the input value is too +// small or keys/values is nullptr, this is populated with the number of available properties +// keys +// Array of pointers to buffers with runtime property keys +// values +// Array of pointers to buffers with runtime property values +// +// Return value: +// The error code result. +// +// The buffers pointed to by keys and values are owned by the host context. The lifetime of the buffers is only +// guaranteed until any of the below occur: +// - a 'run' method is called for the host context +// - properties are changed via hostfxr_set_runtime_property_value +// - the host context is closed via 'hostfxr_close' +// +// If host_context_handle is nullptr and an active host context exists, this function will get the +// properties for the active host context. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_properties_fn)( + const hostfxr_handle host_context_handle, + /*inout*/ size_t * count, + /*out*/ const char_t **keys, + /*out*/ const char_t **values); + +// +// Load CoreCLR and run the application for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// +// Return value: +// If the app was successfully run, the exit code of the application. Otherwise, the error code result. +// +// The host_context_handle must have been initialized using hostfxr_initialize_for_dotnet_command_line. +// +// This function will not return until the managed application exits. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_run_app_fn)(const hostfxr_handle host_context_handle); + +// +// Gets a typed delegate from the currently loaded CoreCLR or from a newly created one. +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// type +// Type of runtime delegate requested +// delegate +// An out parameter that will be assigned the delegate. +// +// Return value: +// The error code result. +// +// If the host_context_handle was initialized using hostfxr_initialize_for_runtime_config, +// then all delegate types are supported. +// If the host_context_handle was initialized using hostfxr_initialize_for_dotnet_command_line, +// then only the following delegate types are currently supported: +// hdt_load_assembly_and_get_function_pointer +// hdt_get_function_pointer +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_delegate_fn)( + const hostfxr_handle host_context_handle, + enum hostfxr_delegate_type type, + /*out*/ void **delegate); + +// +// Closes an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// +// Return value: +// The error code result. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_close_fn)(const hostfxr_handle host_context_handle); + +#endif //__HOSTFXR_H__ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.a b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.a new file mode 100644 index 00000000..9729f545 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.a differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.so b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.so new file mode 100644 index 00000000..042c487f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.so differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.a b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.a new file mode 100644 index 00000000..3263d00e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.a differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.so b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.so new file mode 100644 index 00000000..f3b007f3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.so differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.a b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.a new file mode 100644 index 00000000..e6854c38 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.a differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.so b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.so new file mode 100644 index 00000000..218e1100 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.so differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.a b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.a new file mode 100644 index 00000000..1b5f6d07 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.a differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.so b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.so new file mode 100644 index 00000000..02d1d666 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.so differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libclrjit.so b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libclrjit.so new file mode 100644 index 00000000..60bf7c6c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libclrjit.so differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libcoreclr.so b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libcoreclr.so new file mode 100644 index 00000000..865f1709 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libcoreclr.so differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libcoreclrtraceptprovider.so b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libcoreclrtraceptprovider.so new file mode 100644 index 00000000..f8e7ba74 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libcoreclrtraceptprovider.so differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libdbgshim.so b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libdbgshim.so new file mode 100644 index 00000000..131f78b3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libdbgshim.so differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libhostpolicy.so b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libhostpolicy.so new file mode 100644 index 00000000..055504f1 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libhostpolicy.so differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libmscordaccore.so b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libmscordaccore.so new file mode 100644 index 00000000..884501e7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libmscordaccore.so differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libmscordbi.so b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libmscordbi.so new file mode 100644 index 00000000..e5c5c4df Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libmscordbi.so differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libnethost.a b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libnethost.a new file mode 100644 index 00000000..496d7bef Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/libnethost.a differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll new file mode 100644 index 00000000..02b38ea6 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/nethost.h b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/nethost.h new file mode 100644 index 00000000..31adde5e --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/nethost.h @@ -0,0 +1,99 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#ifndef __NETHOST_H__ +#define __NETHOST_H__ + +#include + +#ifdef _WIN32 + #ifdef NETHOST_EXPORT + #define NETHOST_API __declspec(dllexport) + #else + // Consuming the nethost as a static library + // Shouldn't export attempt to dllimport. + #ifdef NETHOST_USE_AS_STATIC + #define NETHOST_API + #else + #define NETHOST_API __declspec(dllimport) + #endif + #endif + + #define NETHOST_CALLTYPE __stdcall + #ifdef _WCHAR_T_DEFINED + typedef wchar_t char_t; + #else + typedef unsigned short char_t; + #endif +#else + #ifdef NETHOST_EXPORT + #define NETHOST_API __attribute__((__visibility__("default"))) + #else + #define NETHOST_API + #endif + + #define NETHOST_CALLTYPE + typedef char char_t; +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +// Parameters for get_hostfxr_path +// +// Fields: +// size +// Size of the struct. This is used for versioning. +// +// assembly_path +// Path to the compenent's assembly. +// If specified, hostfxr is located as if the assembly_path is the apphost +// +// dotnet_root +// Path to directory containing the dotnet executable. +// If specified, hostfxr is located as if an application is started using +// 'dotnet app.dll', which means it will be searched for under the dotnet_root +// path and the assembly_path is ignored. +// +struct get_hostfxr_parameters { + size_t size; + const char_t *assembly_path; + const char_t *dotnet_root; +}; + +// +// Get the path to the hostfxr library +// +// Parameters: +// buffer +// Buffer that will be populated with the hostfxr path, including a null terminator. +// +// buffer_size +// [in] Size of buffer in char_t units. +// [out] Size of buffer used in char_t units. If the input value is too small +// or buffer is nullptr, this is populated with the minimum required size +// in char_t units for a buffer to hold the hostfxr path +// +// get_hostfxr_parameters +// Optional. Parameters that modify the behaviour for locating the hostfxr library. +// If nullptr, hostfxr is located using the enviroment variable or global registration +// +// Return value: +// 0 on success, otherwise failure +// 0x80008098 - buffer is too small (HostApiBufferTooSmall) +// +// Remarks: +// The full search for the hostfxr library is done on every call. To minimize the need +// to call this function multiple times, pass a large buffer (e.g. PATH_MAX). +// +NETHOST_API int NETHOST_CALLTYPE get_hostfxr_path( + char_t * buffer, + size_t * buffer_size, + const struct get_hostfxr_parameters *parameters); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // __NETHOST_H__ diff --git a/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll new file mode 100644 index 00000000..1a65cf65 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Linux/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/LICENSE.txt b/Plugins/UnrealCLR/Runtime/Mac/LICENSE.txt new file mode 100644 index 00000000..984713a4 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Mac/LICENSE.txt @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Plugins/UnrealCLR/Runtime/Mac/ThirdPartyNotices.txt b/Plugins/UnrealCLR/Runtime/Mac/ThirdPartyNotices.txt new file mode 100644 index 00000000..b8d644c4 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Mac/ThirdPartyNotices.txt @@ -0,0 +1,1219 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/aspnet/AspNetCore/blob/master/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2020 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +http://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 + + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" +--------------------------------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, or Digital Equipment Corporation be used in advertising +or publicity pertaining to distribution of the software without +specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment +Corporation makes any representations about the suitability of +this software for any purpose. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash Library +Copyright (c) 2012-2014, Yann Collet +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xorshift RNGs +-------------------------------- + +George Marsaglia +2003-07-04 +Journal of Statistical Software +License: http://creativecommons.org/licenses/by/3.0/ + +https://www.jstatsoft.org/article/view/v008i14 +https://www.jstatsoft.org/index.php/jss/article/view/v008i14/xorshift.pdf + +License notice for Xorshift (Wikipedia) +--------------------------------------- + +https://en.wikipedia.org/wiki/Xorshift +License: https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License + +License for fastmod (https://github.com/lemire/fastmod) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for Angular v8.0 +-------------------------------------------- +The MIT License (MIT) +===================== + +Copyright (c) 2010-2019 Google LLC. http://angular.io/license + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for corefx + +License notice for BedrockFramework +=================================== + +MIT License + +Copyright (c) 2019 David Fowler + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for Swashbuckle +=================================== + +The MIT License (MIT) + +Copyright (c) 2016 Richard Morris + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for cli-spinners +============================================= + +MIT License + +Copyright (c) Sindre Sorhus (https://sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for dotnet-deb-tool +------------------------------------ + +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for IIS-Common +------------------------------------ + +MIT License + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for IIS-Setup +------------------------------------ + +MIT License + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for LZMA SDK +--------------------------- + +http://7-zip.org/sdk.html + +LZMA SDK is placed in the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or distribute the +original LZMA SDK code, either in source code form or as a compiled binary, +for any purpose, commercial or non-commercial, and by any means. + +License notice for MonoDevelop +------------------------------ + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Nuget.Client +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +these files except in compliance with the License. You may obtain a copy of the +License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for Ookie.Dialogs +-------------------------------- + +http://www.ookii.org/software/dialogs/ + +Copyright © Sven Groot (Ookii.org) 2009 +All rights reserved. + + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1) Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2) Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3) Neither the name of the ORGANIZATION nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +License notice for viz.js +------------------------------------ + +Copyright (c) 2014-2018 Michael Daines + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for West Wind Live Reload ASP.NET Core Middleware +============================================= + + + +--- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +MIT License +----------- + +Copyright (c) 2019-2020 West Wind Technologies + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/Plugins/UnrealCLR/Runtime/Mac/host/fxr/5.0.9/libhostfxr.dylib b/Plugins/UnrealCLR/Runtime/Mac/host/fxr/5.0.9/libhostfxr.dylib new file mode 100644 index 00000000..080cef41 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/host/fxr/5.0.9/libhostfxr.dylib differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/.version b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/.version new file mode 100644 index 00000000..aaa309c1 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/.version @@ -0,0 +1,2 @@ +208e377a5329ad6eb1db5e5fb9d4590fa50beadd +5.0.9 diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll new file mode 100644 index 00000000..db31a63c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json new file mode 100644 index 00000000..cd6220a6 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json @@ -0,0 +1,1100 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v5.0/osx-x64", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v5.0": {}, + ".NETCoreApp,Version=v5.0/osx-x64": { + "Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": {}, + "Microsoft.DiaSymReader.Native/1.7.0": {}, + "Microsoft.DotNet.Build.Tasks.Installers/5.0.0-beta.21328.3": {}, + "Microsoft.DotNet.Build.Tasks.Packaging/5.0.0-beta.21328.3": {}, + "Microsoft.Net.Compilers.Toolset/3.8.0-4.20503.2": {}, + "Microsoft.NETCore.App/5.0.9-servicing.21359.8": { + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0" + } + }, + "Microsoft.NETCore.App.Internal/5.0.9-servicing.21359.8": { + "dependencies": { + "Microsoft.NETCore.DotNetHostPolicy": "5.0.9", + "Microsoft.NETCore.Platforms": "5.0.0", + "Microsoft.NETCore.Targets": "5.0.0", + "NETStandard.Library": "2.2.0-prerelease.19564.1", + "runtime.osx-x64.Microsoft.NETCore.App": "5.0.9-servicing.21359.8" + } + }, + "Microsoft.NETCore.DotNetHostPolicy/5.0.9": { + "dependencies": { + "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy": "5.0.9" + } + }, + "Microsoft.NETCore.Platforms/5.0.0": {}, + "Microsoft.NETCore.Targets/5.0.0": {}, + "Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2": {}, + "Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": { + "dependencies": { + "Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02", + "Microsoft.SourceLink.Common": "1.1.0-beta-20206-02" + } + }, + "Microsoft.SourceLink.Common/1.1.0-beta-20206-02": {}, + "Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": { + "dependencies": { + "Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02", + "Microsoft.SourceLink.Common": "1.1.0-beta-20206-02" + } + }, + "NETStandard.Library/2.2.0-prerelease.19564.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0" + } + }, + "runtime.osx-x64.Microsoft.NETCore.App/5.0.9-servicing.21359.8": { + "runtime": { + "runtimes/osx-x64/lib/net5.0/Microsoft.CSharp.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/Microsoft.VisualBasic.Core.dll": { + "assemblyVersion": "10.0.6.0", + "fileVersion": "11.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/Microsoft.VisualBasic.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/Microsoft.Win32.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/Microsoft.Win32.Registry.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.AppContext.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Buffers.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Collections.Concurrent.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Collections.Immutable.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Collections.NonGeneric.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Collections.Specialized.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Collections.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.ComponentModel.Annotations.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.ComponentModel.DataAnnotations.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.ComponentModel.EventBasedAsync.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.ComponentModel.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.ComponentModel.TypeConverter.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.ComponentModel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Configuration.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Console.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Core.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Data.Common.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Data.DataSetExtensions.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Data.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Diagnostics.Contracts.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Diagnostics.Debug.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Diagnostics.FileVersionInfo.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Diagnostics.Process.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Diagnostics.StackTrace.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Diagnostics.TextWriterTraceListener.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Diagnostics.Tools.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Diagnostics.TraceSource.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Diagnostics.Tracing.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Drawing.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Drawing.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Dynamic.Runtime.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Formats.Asn1.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Globalization.Calendars.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Globalization.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Globalization.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.Compression.Brotli.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.Compression.FileSystem.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.Compression.ZipFile.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.Compression.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.FileSystem.AccessControl.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.FileSystem.DriveInfo.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.FileSystem.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.FileSystem.Watcher.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.FileSystem.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.IsolatedStorage.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.MemoryMappedFiles.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.Pipes.AccessControl.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.Pipes.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.UnmanagedMemoryStream.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.IO.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Linq.Expressions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Linq.Parallel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Linq.Queryable.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Linq.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Memory.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.Http.Json.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.Http.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.HttpListener.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.Mail.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.NameResolution.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.NetworkInformation.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.Ping.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.Requests.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.Security.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.ServicePoint.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.Sockets.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.WebClient.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.WebHeaderCollection.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.WebProxy.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.WebSockets.Client.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.WebSockets.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Net.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Numerics.Vectors.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Numerics.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.ObjectModel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Private.DataContractSerialization.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Private.Uri.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Private.Xml.Linq.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Private.Xml.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Reflection.DispatchProxy.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Reflection.Emit.ILGeneration.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Reflection.Emit.Lightweight.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Reflection.Emit.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Reflection.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Reflection.Metadata.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Reflection.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Reflection.TypeExtensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Reflection.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Resources.Reader.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Resources.ResourceManager.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Resources.Writer.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.CompilerServices.VisualC.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.Handles.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.InteropServices.RuntimeInformation.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.InteropServices.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.Intrinsics.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.Loader.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.Numerics.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.Serialization.Formatters.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.Serialization.Json.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.Serialization.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.Serialization.Xml.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.Serialization.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Runtime.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.AccessControl.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.Claims.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.Algorithms.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.Cng.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.Csp.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.Encoding.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.OpenSsl.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.Cryptography.X509Certificates.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.Principal.Windows.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.Principal.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.SecureString.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Security.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.ServiceModel.Web.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.ServiceProcess.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Text.Encoding.CodePages.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Text.Encoding.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Text.Encoding.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Text.Encodings.Web.dll": { + "assemblyVersion": "5.0.0.1", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Text.Json.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Text.RegularExpressions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Threading.Channels.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Threading.Overlapped.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Threading.Tasks.Dataflow.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Threading.Tasks.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Threading.Tasks.Parallel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Threading.Tasks.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Threading.Thread.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Threading.ThreadPool.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Threading.Timer.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Threading.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Transactions.Local.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Transactions.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.ValueTuple.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Web.HttpUtility.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Web.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Windows.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Xml.Linq.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Xml.ReaderWriter.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Xml.Serialization.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Xml.XDocument.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Xml.XPath.XDocument.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Xml.XPath.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Xml.XmlDocument.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Xml.XmlSerializer.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.Xml.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/System.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/WindowsBase.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/mscorlib.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/lib/net5.0/netstandard.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "5.0.921.35908" + } + }, + "native": { + "runtimes/osx-x64/native/System.Private.CoreLib.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/osx-x64/native/createdump": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libSystem.IO.Compression.Native.a": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libSystem.IO.Compression.Native.dylib": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libSystem.Native.a": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libSystem.Native.dylib": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libSystem.Net.Security.Native.a": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libSystem.Net.Security.Native.dylib": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libSystem.Security.Cryptography.Native.Apple.a": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libSystem.Security.Cryptography.Native.Apple.dylib": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libSystem.Security.Cryptography.Native.OpenSsl.a": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libSystem.Security.Cryptography.Native.OpenSsl.dylib": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libclrjit.dylib": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libcoreclr.dylib": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libdbgshim.dylib": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libmscordaccore.dylib": { + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libmscordbi.dylib": { + "fileVersion": "0.0.0.0" + } + } + }, + "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.9": { + "native": { + "runtimes/osx-x64/native/libhostpolicy.dylib": { + "fileVersion": "0.0.0.0" + } + } + } + } + }, + "libraries": { + "Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hZ9leS9Yd9MHpqvviMftSJFDcLYu2h1DrapW1TDm1s1fgOy71c8HvArNMd3fseVkXmp3VTfGnkgcw0FR+TI6xw==", + "path": "microsoft.build.tasks.git/1.1.0-beta-20206-02", + "hashPath": "microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg.sha512" + }, + "Microsoft.DiaSymReader.Native/1.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vIzndj0MoWW2Mp/iztUSKvmR9vZTqOVQ6PBvwA57+CDoiz7eUMU15rrAX+/QA0bkmwQ08GRibFBB9LNOl0EiBA==", + "path": "microsoft.diasymreader.native/1.7.0", + "hashPath": "microsoft.diasymreader.native.1.7.0.nupkg.sha512" + }, + "Microsoft.DotNet.Build.Tasks.Installers/5.0.0-beta.21328.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-68fxMTtraSXCUYZx7vNVb9PvIJ9FhPjymbvrkl/6h7S/NlQz6bxyZksTd6ghMs4gyQLHRCuDX/O/dT6Gd6qIag==", + "path": "microsoft.dotnet.build.tasks.installers/5.0.0-beta.21328.3", + "hashPath": "microsoft.dotnet.build.tasks.installers.5.0.0-beta.21328.3.nupkg.sha512" + }, + "Microsoft.DotNet.Build.Tasks.Packaging/5.0.0-beta.21328.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswwdycY3QmJ3DvyOGVMHDdZxxnE76MQFWZWqhniJqgbXPefQnXvDF4YXgCPnAENDYtsjohpaav1XDEyt84UHw==", + "path": "microsoft.dotnet.build.tasks.packaging/5.0.0-beta.21328.3", + "hashPath": "microsoft.dotnet.build.tasks.packaging.5.0.0-beta.21328.3.nupkg.sha512" + }, + "Microsoft.Net.Compilers.Toolset/3.8.0-4.20503.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jfscID/5IHHPVVEbFCAJEUEWCeWNZCLwyBcUFG3/u44oiRd/aseDOYRzl3OnIIvcwzi0U2lSAs6Lt2+rdRIDMg==", + "path": "microsoft.net.compilers.toolset/3.8.0-4.20503.2", + "hashPath": "microsoft.net.compilers.toolset.3.8.0-4.20503.2.nupkg.sha512" + }, + "Microsoft.NETCore.App/5.0.9-servicing.21359.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lw8nlujo0dtZbVGbCpxlGclGQwpMeHLCJhwwFSPtWTeIPMJP0k96FC4NxoMTliPrWD+0J+kH4uG5LXb6ZlNmmQ==", + "path": "microsoft.netcore.app/5.0.9-servicing.21359.8", + "hashPath": "microsoft.netcore.app.5.0.9-servicing.21359.8.nupkg.sha512" + }, + "Microsoft.NETCore.App.Internal/5.0.9-servicing.21359.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-M63GPtpGW91KKcdkL9J9r40q/PedKGM2r2oq1d7ySCtpzun5G59Grd0xLKiXnE/E8Qdwp5G7o+ltOEMShZap/A==", + "path": "microsoft.netcore.app.internal/5.0.9-servicing.21359.8", + "hashPath": "microsoft.netcore.app.internal.5.0.9-servicing.21359.8.nupkg.sha512" + }, + "Microsoft.NETCore.DotNetHostPolicy/5.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LW9pW4NnQgkya5PbC1pWgFRcOINTW/oUd+aBp57kCnAzAMGcOOkIdRq65mbWAYO7iSvmI08IlE0/mMOBeb4KQA==" + }, + "Microsoft.NETCore.Platforms/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==", + "path": "microsoft.netcore.platforms/5.0.0", + "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XpSaRv9/+V4KQ5KPbvRoArKy1o9WHizFEdOXPBLHXRZ0zwPGK5cTcWo1SveD7uayrfhod1uAAscip65qLeAjCw==", + "path": "microsoft.netcore.targets/5.0.0", + "hashPath": "microsoft.netcore.targets.5.0.0.nupkg.sha512" + }, + "Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m+pJPEO7HyXvrOna5Sr3s77ewXonjYWJTNL6drh8xACnMNxnlqUDKx9HfGeSE9wmfY0lQwppaeZpFTPGaH7kZg==", + "path": "microsoft.netframework.referenceassemblies/1.0.0-preview.2", + "hashPath": "microsoft.netframework.referenceassemblies.1.0.0-preview.2.nupkg.sha512" + }, + "Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vVYhSds9TfraTQkGHHMDMVWnr3kCkTZ7vmqUmrXQBDJFXiWTuMoP5RRa9s1M/KmgB4szi5TOb7sOaHWKDT9qDA==", + "path": "microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02", + "hashPath": "microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg.sha512" + }, + "Microsoft.SourceLink.Common/1.1.0-beta-20206-02": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aek0RTQ+4Bf11WvqaXajwYoaBWkX2edBjAr5XJOvhAsHX6/9vPOb7IpHAiE/NyCse7IcpGWslJZHNkv4UBEFqw==", + "path": "microsoft.sourcelink.common/1.1.0-beta-20206-02", + "hashPath": "microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg.sha512" + }, + "Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7A7P0EwL+lypaI/CEvG4IcpAlQeAt04uPPw1SO6Q9Jwz2nE9309pQXJ4TfP/RLL8IOObACidN66+gVR+bJDZHw==", + "path": "microsoft.sourcelink.github/1.1.0-beta-20206-02", + "hashPath": "microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg.sha512" + }, + "NETStandard.Library/2.2.0-prerelease.19564.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-y7Z0OKA/O5mW8aPEI4oXTSjinUTwGDwKEZMKTGdzb+vLgGRuvrZrs1YidcFN2kIKOo/11bOSNfKn4lsOLUWHkQ==", + "path": "netstandard.library/2.2.0-prerelease.19564.1", + "hashPath": "netstandard.library.2.2.0-prerelease.19564.1.nupkg.sha512" + }, + "runtime.osx-x64.Microsoft.NETCore.App/5.0.9-servicing.21359.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-C/rb6+Z9wc6vzZOAGvQHeW72lIku46eA6GyOQSHKNibcK7bEKA5LszqOdTykDYMZPNb7GCeG1SLQSTE7Uo4Lqg==", + "path": "runtime.osx-x64.microsoft.netcore.app/5.0.9-servicing.21359.8", + "hashPath": "runtime.osx-x64.microsoft.netcore.app.5.0.9-servicing.21359.8.nupkg.sha512" + }, + "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WmIZnGivOuoFmBCBGeM7WILtTwb+x8Ahv62b6k241pjqlVomHFb2aJ4STUgM/XUdM+0gilIkQA4rq2ZPhXTygg==" + } + }, + "runtimes": { + "osx-x64": [ + "osx", + "unix-x64", + "unix", + "any", + "base" + ], + "osx": [ + "unix", + "any", + "base" + ], + "osx-arm64": [ + "osx", + "unix-arm64", + "unix", + "any", + "base" + ], + "osx.10.10": [ + "osx", + "unix", + "any", + "base" + ], + "osx.10.10-x64": [ + "osx.10.10", + "osx-x64", + "osx", + "unix-x64", + "unix", + "any", + "base" + ], + "osx.10.11": [ + "osx.10.10", + "osx", + "unix", + "any", + "base" + ], + "osx.10.11-x64": [ + "osx.10.11", + "osx.10.10-x64", + "osx.10.10", + "osx-x64", + "osx", + "unix-x64", + "unix", + "any", + "base" + ], + "osx.10.12": [ + "osx.10.11", + "osx.10.10", + "osx", + "unix", + "any", + "base" + ], + "osx.10.12-x64": [ + "osx.10.12", + "osx.10.11-x64", + "osx.10.11", + "osx.10.10-x64", + "osx.10.10", + "osx-x64", + "osx", + "unix-x64", + "unix", + "any", + "base" + ], + "osx.10.13": [ + "osx.10.12", + "osx.10.11", + "osx.10.10", + "osx", + "unix", + "any", + "base" + ], + "osx.10.13-x64": [ + "osx.10.13", + "osx.10.12-x64", + "osx.10.12", + "osx.10.11-x64", + "osx.10.11", + "osx.10.10-x64", + "osx.10.10", + "osx-x64", + "osx", + "unix-x64", + "unix", + "any", + "base" + ], + "osx.10.14": [ + "osx.10.13", + "osx.10.12", + "osx.10.11", + "osx.10.10", + "osx", + "unix", + "any", + "base" + ], + "osx.10.14-x64": [ + "osx.10.14", + "osx.10.13-x64", + "osx.10.13", + "osx.10.12-x64", + "osx.10.12", + "osx.10.11-x64", + "osx.10.11", + "osx.10.10-x64", + "osx.10.10", + "osx-x64", + "osx", + "unix-x64", + "unix", + "any", + "base" + ], + "osx.10.15": [ + "osx.10.14", + "osx.10.13", + "osx.10.12", + "osx.10.11", + "osx.10.10", + "osx", + "unix", + "any", + "base" + ], + "osx.10.15-x64": [ + "osx.10.15", + "osx.10.14-x64", + "osx.10.14", + "osx.10.13-x64", + "osx.10.13", + "osx.10.12-x64", + "osx.10.12", + "osx.10.11-x64", + "osx.10.11", + "osx.10.10-x64", + "osx.10.10", + "osx-x64", + "osx", + "unix-x64", + "unix", + "any", + "base" + ], + "osx.11": [ + "osx", + "unix", + "any", + "base" + ], + "osx.11-arm64": [ + "osx.11", + "osx-arm64", + "osx", + "unix-arm64", + "unix", + "any", + "base" + ], + "osx.11-x64": [ + "osx.11", + "osx-x64", + "osx", + "unix-x64", + "unix", + "any", + "base" + ], + "osx.11.0": [ + "osx.11", + "osx", + "unix", + "any", + "base" + ], + "osx.11.0-arm64": [ + "osx.11.0", + "osx.11-arm64", + "osx.11", + "osx-arm64", + "osx", + "unix-arm64", + "unix", + "any", + "base" + ], + "osx.11.0-x64": [ + "osx.11.0", + "osx.11-x64", + "osx.11", + "osx-x64", + "osx", + "unix-x64", + "unix", + "any", + "base" + ] + } +} \ No newline at end of file diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll new file mode 100644 index 00000000..39c495a7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll new file mode 100644 index 00000000..703864ce Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll new file mode 100644 index 00000000..4dd2d5d3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll new file mode 100644 index 00000000..7c438970 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll new file mode 100644 index 00000000..483be75f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll new file mode 100644 index 00000000..e6e103ce Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll new file mode 100644 index 00000000..4c8b1131 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll new file mode 100644 index 00000000..346391c8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll new file mode 100644 index 00000000..1c923e71 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll new file mode 100644 index 00000000..276fb832 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll new file mode 100644 index 00000000..cf7dcdf4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll new file mode 100644 index 00000000..52e75d1d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll new file mode 100644 index 00000000..1ba0ba0a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll new file mode 100644 index 00000000..12ce9425 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll new file mode 100644 index 00000000..65f21106 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll new file mode 100644 index 00000000..0791769a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll new file mode 100644 index 00000000..9c15f5a2 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll new file mode 100644 index 00000000..e662bdb3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll new file mode 100644 index 00000000..efe0f467 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll new file mode 100644 index 00000000..c59b0520 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll new file mode 100644 index 00000000..a7613112 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll new file mode 100644 index 00000000..b2647cbc Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll new file mode 100644 index 00000000..c4760a8b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll new file mode 100644 index 00000000..372068b5 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll new file mode 100644 index 00000000..cb9a2c49 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll new file mode 100644 index 00000000..3a240469 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll new file mode 100644 index 00000000..0e2fd806 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll new file mode 100644 index 00000000..ca65f958 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll new file mode 100644 index 00000000..27489472 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll new file mode 100644 index 00000000..e8012b07 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll new file mode 100644 index 00000000..a2cfb1b8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll new file mode 100644 index 00000000..61e5e33c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll new file mode 100644 index 00000000..e1f43a24 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll new file mode 100644 index 00000000..78448ea0 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll new file mode 100644 index 00000000..2b46c936 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll new file mode 100644 index 00000000..33a1a639 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll new file mode 100644 index 00000000..c0236740 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll new file mode 100644 index 00000000..f9b3442a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll new file mode 100644 index 00000000..d3d60495 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll new file mode 100644 index 00000000..30dc126e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll new file mode 100644 index 00000000..51c9f58b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll new file mode 100644 index 00000000..8da36f52 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll new file mode 100644 index 00000000..25a46ac1 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll new file mode 100644 index 00000000..9c76249d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll new file mode 100644 index 00000000..0a777aa7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll new file mode 100644 index 00000000..4220043d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll new file mode 100644 index 00000000..633d80d3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll new file mode 100644 index 00000000..c9a9853c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll new file mode 100644 index 00000000..a566302f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll new file mode 100644 index 00000000..7f20cc51 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll new file mode 100644 index 00000000..f194e267 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll new file mode 100644 index 00000000..89de68e7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll new file mode 100644 index 00000000..d833c406 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll new file mode 100644 index 00000000..b6f5494f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll new file mode 100644 index 00000000..b3a0ef1f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll new file mode 100644 index 00000000..3b20a1c4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll new file mode 100644 index 00000000..2500830b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll new file mode 100644 index 00000000..c9f33acc Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll new file mode 100644 index 00000000..8de7a27f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll new file mode 100644 index 00000000..264b7484 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll new file mode 100644 index 00000000..06d968aa Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll new file mode 100644 index 00000000..95c93073 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll new file mode 100644 index 00000000..2a2b8d41 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll new file mode 100644 index 00000000..10d47f61 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll new file mode 100644 index 00000000..dea6ee2d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll new file mode 100644 index 00000000..1459a145 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll new file mode 100644 index 00000000..f991756d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll new file mode 100644 index 00000000..c1698785 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll new file mode 100644 index 00000000..33b47f85 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll new file mode 100644 index 00000000..1ed087a6 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll new file mode 100644 index 00000000..adb8af13 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll new file mode 100644 index 00000000..a403d4fa Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll new file mode 100644 index 00000000..3fbae84f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll new file mode 100644 index 00000000..0f69edcd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll new file mode 100644 index 00000000..07a38f09 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll new file mode 100644 index 00000000..ed67c1e4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll new file mode 100644 index 00000000..8f0aa540 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll new file mode 100644 index 00000000..4a9577cd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll new file mode 100644 index 00000000..aa3e2a1f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll new file mode 100644 index 00000000..d923e6cf Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll new file mode 100644 index 00000000..070e828a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll new file mode 100644 index 00000000..764ad036 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll new file mode 100644 index 00000000..5449f879 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll new file mode 100644 index 00000000..5400e948 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll new file mode 100644 index 00000000..80c54108 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll new file mode 100644 index 00000000..be956f53 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll new file mode 100644 index 00000000..2da4d167 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll new file mode 100644 index 00000000..2c03d345 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll new file mode 100644 index 00000000..3a9b6477 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll new file mode 100644 index 00000000..7a66d07c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll new file mode 100644 index 00000000..7052d86d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll new file mode 100644 index 00000000..5c988aa9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll new file mode 100644 index 00000000..c73cef4c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll new file mode 100644 index 00000000..0e3331c7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll new file mode 100644 index 00000000..50d30d22 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll new file mode 100644 index 00000000..43d93267 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll new file mode 100644 index 00000000..5045e08e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll new file mode 100644 index 00000000..476a33b6 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 00000000..5384d059 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll new file mode 100644 index 00000000..0aa5f202 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll new file mode 100644 index 00000000..5ee58806 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll new file mode 100644 index 00000000..7a21aac6 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll new file mode 100644 index 00000000..94512d7c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll new file mode 100644 index 00000000..afe14d2e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll new file mode 100644 index 00000000..81844967 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll new file mode 100644 index 00000000..0c9801ff Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll new file mode 100644 index 00000000..c6d0391d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll new file mode 100644 index 00000000..aa2f173e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll new file mode 100644 index 00000000..41d7482a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll new file mode 100644 index 00000000..9a992a8f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll new file mode 100644 index 00000000..e5039edf Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll new file mode 100644 index 00000000..a63829e2 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll new file mode 100644 index 00000000..746b9b76 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll new file mode 100644 index 00000000..ba4c3b8a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll new file mode 100644 index 00000000..d4e30999 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll new file mode 100644 index 00000000..60aacf8f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll new file mode 100644 index 00000000..20c785ce Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll new file mode 100644 index 00000000..4da9efb7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll new file mode 100644 index 00000000..0a45dd6a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll new file mode 100644 index 00000000..1cde9bec Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll new file mode 100644 index 00000000..6806b95c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll new file mode 100644 index 00000000..eaf17a77 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll new file mode 100644 index 00000000..2a9fe933 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll new file mode 100644 index 00000000..ad481be9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll new file mode 100644 index 00000000..ba0281d0 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll new file mode 100644 index 00000000..e01419a9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll new file mode 100644 index 00000000..8a47fd30 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll new file mode 100644 index 00000000..d8a207a7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll new file mode 100644 index 00000000..d5da1f1e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll new file mode 100644 index 00000000..ad69edca Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll new file mode 100644 index 00000000..80448d74 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll new file mode 100644 index 00000000..2d170ab0 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll new file mode 100644 index 00000000..d6473a4f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll new file mode 100644 index 00000000..a1afa604 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll new file mode 100644 index 00000000..dd3fae6d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll new file mode 100644 index 00000000..f0049b31 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll new file mode 100644 index 00000000..9a6e490a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll new file mode 100644 index 00000000..67681fcf Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll new file mode 100644 index 00000000..8a9b5ea1 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll new file mode 100644 index 00000000..53e0ba1f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll new file mode 100644 index 00000000..884de054 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll new file mode 100644 index 00000000..ce372bb2 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll new file mode 100644 index 00000000..9a060d78 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll new file mode 100644 index 00000000..28ce059e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll new file mode 100644 index 00000000..4cb41f83 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll new file mode 100644 index 00000000..b3d1092f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll new file mode 100644 index 00000000..4b109924 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll new file mode 100644 index 00000000..491f0deb Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll new file mode 100644 index 00000000..18ffaa74 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll new file mode 100644 index 00000000..24e46d49 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll new file mode 100644 index 00000000..b797f840 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll new file mode 100644 index 00000000..b6d8d2c6 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll new file mode 100644 index 00000000..0392683a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll new file mode 100644 index 00000000..939e937d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll new file mode 100644 index 00000000..f5d8bf86 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll new file mode 100644 index 00000000..3e41bb18 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll new file mode 100644 index 00000000..c8bd064c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll new file mode 100644 index 00000000..aa4dd253 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll new file mode 100644 index 00000000..8a8d1e2b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.dll new file mode 100644 index 00000000..2783ae63 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/System.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll new file mode 100644 index 00000000..5a266c65 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h new file mode 100644 index 00000000..914ab592 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#ifndef __CORECLR_DELEGATES_H__ +#define __CORECLR_DELEGATES_H__ + +#include + +#if defined(_WIN32) + #define CORECLR_DELEGATE_CALLTYPE __stdcall + #ifdef _WCHAR_T_DEFINED + typedef wchar_t char_t; + #else + typedef unsigned short char_t; + #endif +#else + #define CORECLR_DELEGATE_CALLTYPE + typedef char char_t; +#endif + +#define UNMANAGEDCALLERSONLY_METHOD ((const char_t*)-1) + +// Signature of delegate returned by coreclr_delegate_type::load_assembly_and_get_function_pointer +typedef int (CORECLR_DELEGATE_CALLTYPE *load_assembly_and_get_function_pointer_fn)( + const char_t *assembly_path /* Fully qualified path to assembly */, + const char_t *type_name /* Assembly qualified type name */, + const char_t *method_name /* Public static method name compatible with delegateType */, + const char_t *delegate_type_name /* Assembly qualified delegate type name or null + or UNMANAGEDCALLERSONLY_METHOD if the method is marked with + the UnmanagedCallersOnlyAttribute. */, + void *reserved /* Extensibility parameter (currently unused and must be 0) */, + /*out*/ void **delegate /* Pointer where to store the function pointer result */); + +// Signature of delegate returned by load_assembly_and_get_function_pointer_fn when delegate_type_name == null (default) +typedef int (CORECLR_DELEGATE_CALLTYPE *component_entry_point_fn)(void *arg, int32_t arg_size_in_bytes); + +typedef int (CORECLR_DELEGATE_CALLTYPE *get_function_pointer_fn)( + const char_t *type_name /* Assembly qualified type name */, + const char_t *method_name /* Public static method name compatible with delegateType */, + const char_t *delegate_type_name /* Assembly qualified delegate type name or null, + or UNMANAGEDCALLERSONLY_METHOD if the method is marked with + the UnmanagedCallersOnlyAttribute. */, + void *load_context /* Extensibility parameter (currently unused and must be 0) */, + void *reserved /* Extensibility parameter (currently unused and must be 0) */, + /*out*/ void **delegate /* Pointer where to store the function pointer result */); + +#endif // __CORECLR_DELEGATES_H__ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/createdump b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/createdump new file mode 100644 index 00000000..8c837381 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/createdump differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h new file mode 100644 index 00000000..e062193c --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h @@ -0,0 +1,288 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#ifndef __HOSTFXR_H__ +#define __HOSTFXR_H__ + +#include +#include + +#if defined(_WIN32) + #define HOSTFXR_CALLTYPE __cdecl + #ifdef _WCHAR_T_DEFINED + typedef wchar_t char_t; + #else + typedef unsigned short char_t; + #endif +#else + #define HOSTFXR_CALLTYPE + typedef char char_t; +#endif + +enum hostfxr_delegate_type +{ + hdt_com_activation, + hdt_load_in_memory_assembly, + hdt_winrt_activation, + hdt_com_register, + hdt_com_unregister, + hdt_load_assembly_and_get_function_pointer, + hdt_get_function_pointer, +}; + +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_fn)(const int argc, const char_t **argv); +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_startupinfo_fn)( + const int argc, + const char_t **argv, + const char_t *host_path, + const char_t *dotnet_root, + const char_t *app_path); +typedef int32_t(HOSTFXR_CALLTYPE* hostfxr_main_bundle_startupinfo_fn)( + const int argc, + const char_t** argv, + const char_t* host_path, + const char_t* dotnet_root, + const char_t* app_path, + int64_t bundle_header_offset); + +typedef void(HOSTFXR_CALLTYPE *hostfxr_error_writer_fn)(const char_t *message); + +// +// Sets a callback which is to be used to write errors to. +// +// Parameters: +// error_writer +// A callback function which will be invoked every time an error is to be reported. +// Or nullptr to unregister previously registered callback and return to the default behavior. +// Return value: +// The previously registered callback (which is now unregistered), or nullptr if no previous callback +// was registered +// +// The error writer is registered per-thread, so the registration is thread-local. On each thread +// only one callback can be registered. Subsequent registrations overwrite the previous ones. +// +// By default no callback is registered in which case the errors are written to stderr. +// +// Each call to the error writer is sort of like writing a single line (the EOL character is omitted). +// Multiple calls to the error writer may occure for one failure. +// +// If the hostfxr invokes functions in hostpolicy as part of its operation, the error writer +// will be propagated to hostpolicy for the duration of the call. This means that errors from +// both hostfxr and hostpolicy will be reporter through the same error writer. +// +typedef hostfxr_error_writer_fn(HOSTFXR_CALLTYPE *hostfxr_set_error_writer_fn)(hostfxr_error_writer_fn error_writer); + +typedef void* hostfxr_handle; +struct hostfxr_initialize_parameters +{ + size_t size; + const char_t *host_path; + const char_t *dotnet_root; +}; + +// +// Initializes the hosting components for a dotnet command line running an application +// +// Parameters: +// argc +// Number of argv arguments +// argv +// Command-line arguments for running an application (as if through the dotnet executable). +// parameters +// Optional. Additional parameters for initialization +// host_context_handle +// On success, this will be populated with an opaque value representing the initialized host context +// +// Return value: +// Success - Hosting components were successfully initialized +// HostInvalidState - Hosting components are already initialized +// +// This function parses the specified command-line arguments to determine the application to run. It will +// then find the corresponding .runtimeconfig.json and .deps.json with which to resolve frameworks and +// dependencies and prepare everything needed to load the runtime. +// +// This function only supports arguments for running an application. It does not support SDK commands. +// +// This function does not load the runtime. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_dotnet_command_line_fn)( + int argc, + const char_t **argv, + const struct hostfxr_initialize_parameters *parameters, + /*out*/ hostfxr_handle *host_context_handle); + +// +// Initializes the hosting components using a .runtimeconfig.json file +// +// Parameters: +// runtime_config_path +// Path to the .runtimeconfig.json file +// parameters +// Optional. Additional parameters for initialization +// host_context_handle +// On success, this will be populated with an opaque value representing the initialized host context +// +// Return value: +// Success - Hosting components were successfully initialized +// Success_HostAlreadyInitialized - Config is compatible with already initialized hosting components +// Success_DifferentRuntimeProperties - Config has runtime properties that differ from already initialized hosting components +// CoreHostIncompatibleConfig - Config is incompatible with already initialized hosting components +// +// This function will process the .runtimeconfig.json to resolve frameworks and prepare everything needed +// to load the runtime. It will only process the .deps.json from frameworks (not any app/component that +// may be next to the .runtimeconfig.json). +// +// This function does not load the runtime. +// +// If called when the runtime has already been loaded, this function will check if the specified runtime +// config is compatible with the existing runtime. +// +// Both Success_HostAlreadyInitialized and Success_DifferentRuntimeProperties codes are considered successful +// initializations. In the case of Success_DifferentRuntimeProperties, it is left to the consumer to verify that +// the difference in properties is acceptable. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_runtime_config_fn)( + const char_t *runtime_config_path, + const struct hostfxr_initialize_parameters *parameters, + /*out*/ hostfxr_handle *host_context_handle); + +// +// Gets the runtime property value for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// name +// Runtime property name +// value +// Out parameter. Pointer to a buffer with the property value. +// +// Return value: +// The error code result. +// +// The buffer pointed to by value is owned by the host context. The lifetime of the buffer is only +// guaranteed until any of the below occur: +// - a 'run' method is called for the host context +// - properties are changed via hostfxr_set_runtime_property_value +// - the host context is closed via 'hostfxr_close' +// +// If host_context_handle is nullptr and an active host context exists, this function will get the +// property value for the active host context. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_property_value_fn)( + const hostfxr_handle host_context_handle, + const char_t *name, + /*out*/ const char_t **value); + +// +// Sets the value of a runtime property for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// name +// Runtime property name +// value +// Value to set +// +// Return value: +// The error code result. +// +// Setting properties is only supported for the first host context, before the runtime has been loaded. +// +// If the property already exists in the host context, it will be overwritten. If value is nullptr, the +// property will be removed. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_set_runtime_property_value_fn)( + const hostfxr_handle host_context_handle, + const char_t *name, + const char_t *value); + +// +// Gets all the runtime properties for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// count +// [in] Size of the keys and values buffers +// [out] Number of properties returned (size of keys/values buffers used). If the input value is too +// small or keys/values is nullptr, this is populated with the number of available properties +// keys +// Array of pointers to buffers with runtime property keys +// values +// Array of pointers to buffers with runtime property values +// +// Return value: +// The error code result. +// +// The buffers pointed to by keys and values are owned by the host context. The lifetime of the buffers is only +// guaranteed until any of the below occur: +// - a 'run' method is called for the host context +// - properties are changed via hostfxr_set_runtime_property_value +// - the host context is closed via 'hostfxr_close' +// +// If host_context_handle is nullptr and an active host context exists, this function will get the +// properties for the active host context. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_properties_fn)( + const hostfxr_handle host_context_handle, + /*inout*/ size_t * count, + /*out*/ const char_t **keys, + /*out*/ const char_t **values); + +// +// Load CoreCLR and run the application for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// +// Return value: +// If the app was successfully run, the exit code of the application. Otherwise, the error code result. +// +// The host_context_handle must have been initialized using hostfxr_initialize_for_dotnet_command_line. +// +// This function will not return until the managed application exits. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_run_app_fn)(const hostfxr_handle host_context_handle); + +// +// Gets a typed delegate from the currently loaded CoreCLR or from a newly created one. +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// type +// Type of runtime delegate requested +// delegate +// An out parameter that will be assigned the delegate. +// +// Return value: +// The error code result. +// +// If the host_context_handle was initialized using hostfxr_initialize_for_runtime_config, +// then all delegate types are supported. +// If the host_context_handle was initialized using hostfxr_initialize_for_dotnet_command_line, +// then only the following delegate types are currently supported: +// hdt_load_assembly_and_get_function_pointer +// hdt_get_function_pointer +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_delegate_fn)( + const hostfxr_handle host_context_handle, + enum hostfxr_delegate_type type, + /*out*/ void **delegate); + +// +// Closes an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// +// Return value: +// The error code result. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_close_fn)(const hostfxr_handle host_context_handle); + +#endif //__HOSTFXR_H__ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.a b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.a new file mode 100644 index 00000000..286abb9d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.a differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.dylib b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.dylib new file mode 100644 index 00000000..75485d12 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.IO.Compression.Native.dylib differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.a b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.a new file mode 100644 index 00000000..73b0ea72 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.a differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.dylib b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.dylib new file mode 100644 index 00000000..dca3be6c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Native.dylib differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.a b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.a new file mode 100644 index 00000000..f53070a7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.a differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.dylib b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.dylib new file mode 100644 index 00000000..25afff51 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Net.Security.Native.dylib differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.Apple.a b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.Apple.a new file mode 100644 index 00000000..7b52d920 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.Apple.a differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.Apple.dylib b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.Apple.dylib new file mode 100644 index 00000000..30e7fe49 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.Apple.dylib differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.a b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.a new file mode 100644 index 00000000..6d5f997c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.a differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.dylib b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.dylib new file mode 100644 index 00000000..a4a41dfa Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libSystem.Security.Cryptography.Native.OpenSsl.dylib differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libclrjit.dylib b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libclrjit.dylib new file mode 100644 index 00000000..2fd5ce6f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libclrjit.dylib differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libcoreclr.dylib b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libcoreclr.dylib new file mode 100644 index 00000000..c729f495 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libcoreclr.dylib differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libdbgshim.dylib b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libdbgshim.dylib new file mode 100644 index 00000000..0f8044b7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libdbgshim.dylib differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libhostpolicy.dylib b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libhostpolicy.dylib new file mode 100644 index 00000000..af0601bd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libhostpolicy.dylib differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libmscordaccore.dylib b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libmscordaccore.dylib new file mode 100644 index 00000000..801b7296 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libmscordaccore.dylib differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libmscordbi.dylib b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libmscordbi.dylib new file mode 100644 index 00000000..fc6ec693 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libmscordbi.dylib differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libnethost.a b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libnethost.a new file mode 100644 index 00000000..a0b5662c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/libnethost.a differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll new file mode 100644 index 00000000..d8ba91dc Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/nethost.h b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/nethost.h new file mode 100644 index 00000000..31adde5e --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/nethost.h @@ -0,0 +1,99 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#ifndef __NETHOST_H__ +#define __NETHOST_H__ + +#include + +#ifdef _WIN32 + #ifdef NETHOST_EXPORT + #define NETHOST_API __declspec(dllexport) + #else + // Consuming the nethost as a static library + // Shouldn't export attempt to dllimport. + #ifdef NETHOST_USE_AS_STATIC + #define NETHOST_API + #else + #define NETHOST_API __declspec(dllimport) + #endif + #endif + + #define NETHOST_CALLTYPE __stdcall + #ifdef _WCHAR_T_DEFINED + typedef wchar_t char_t; + #else + typedef unsigned short char_t; + #endif +#else + #ifdef NETHOST_EXPORT + #define NETHOST_API __attribute__((__visibility__("default"))) + #else + #define NETHOST_API + #endif + + #define NETHOST_CALLTYPE + typedef char char_t; +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +// Parameters for get_hostfxr_path +// +// Fields: +// size +// Size of the struct. This is used for versioning. +// +// assembly_path +// Path to the compenent's assembly. +// If specified, hostfxr is located as if the assembly_path is the apphost +// +// dotnet_root +// Path to directory containing the dotnet executable. +// If specified, hostfxr is located as if an application is started using +// 'dotnet app.dll', which means it will be searched for under the dotnet_root +// path and the assembly_path is ignored. +// +struct get_hostfxr_parameters { + size_t size; + const char_t *assembly_path; + const char_t *dotnet_root; +}; + +// +// Get the path to the hostfxr library +// +// Parameters: +// buffer +// Buffer that will be populated with the hostfxr path, including a null terminator. +// +// buffer_size +// [in] Size of buffer in char_t units. +// [out] Size of buffer used in char_t units. If the input value is too small +// or buffer is nullptr, this is populated with the minimum required size +// in char_t units for a buffer to hold the hostfxr path +// +// get_hostfxr_parameters +// Optional. Parameters that modify the behaviour for locating the hostfxr library. +// If nullptr, hostfxr is located using the enviroment variable or global registration +// +// Return value: +// 0 on success, otherwise failure +// 0x80008098 - buffer is too small (HostApiBufferTooSmall) +// +// Remarks: +// The full search for the hostfxr library is done on every call. To minimize the need +// to call this function multiple times, pass a large buffer (e.g. PATH_MAX). +// +NETHOST_API int NETHOST_CALLTYPE get_hostfxr_path( + char_t * buffer, + size_t * buffer_size, + const struct get_hostfxr_parameters *parameters); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // __NETHOST_H__ diff --git a/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll new file mode 100644 index 00000000..008e8ccd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Mac/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/LICENSE.txt b/Plugins/UnrealCLR/Runtime/Win64/LICENSE.txt new file mode 100644 index 00000000..c69e3631 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Win64/LICENSE.txt @@ -0,0 +1,64 @@ +MICROSOFT SOFTWARE LICENSE TERMS +MICROSOFT .NET LIBRARY +These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft + * updates, + * supplements, + * Internet-based services, and + * support services +for this software, unless other terms accompany those items. If so, those terms apply. +BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. +IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW. +1. INSTALLATION AND USE RIGHTS. + a. Installation and Use. You may install and use any number of copies of the software to design, develop and test your programs. + b. Third Party Programs. The software may include third party programs that Microsoft, not the third party, licenses to you under this agreement. Notices, if any, for the third party program are included for your information only. +2. DATA. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to improve our products and services. You can learn more about data collection and use in the help documentation and the privacy statement at https://go.microsoft.com/fwlink/?LinkId=528096. Your use of the software operates as your consent to these practices. +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. + a. DISTRIBUTABLE CODE. The software is comprised of Distributable Code. "Distributable Code" is code that you are permitted to distribute in programs you develop if you comply with the terms below. + i. Right to Use and Distribute. + * You may copy and distribute the object code form of the software. + * Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs. + ii. Distribution Requirements. For any Distributable Code you distribute, you must + * add significant primary functionality to it in your programs; + * require distributors and external end users to agree to terms that protect it at least as much as this agreement; + * display your valid copyright notice on your programs; and + * indemnify, defend, and hold harmless Microsoft from any claims, including attorneys' fees, related to the distribution or use of your programs. + iii. Distribution Restrictions. You may not + * alter any copyright, trademark or patent notice in the Distributable Code; + * use Microsoft's trademarks in your programs' names or in a way that suggests your programs come from or are endorsed by Microsoft; + * include Distributable Code in malicious, deceptive or unlawful programs; or + * modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that + * the code be disclosed or distributed in source code form; or + * others have the right to modify it. +4. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not + * work around any technical limitations in the software; + * reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation; + * publish the software for others to copy; + * rent, lease or lend the software; + * transfer the software or this agreement to any third party; or + * use the software for commercial software hosting services. +5. BACKUP COPY. You may make one backup copy of the software. You may use it only to reinstall the software. +6. DOCUMENTATION. Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes. +7. EXPORT RESTRICTIONS. The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting. +8. SUPPORT SERVICES. Because this software is "as is," we may not provide support services for it. +9. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. +10. APPLICABLE LAW. + a. United States. If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort. + b. Outside the United States. If you acquired the software in any other country, the laws of that country apply. +11. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so. +12. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED "AS-IS." YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +FOR AUSTRALIA - YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS. +13. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to + * anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and + * claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. +It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages. +Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French. +Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français. +EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n'accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d'adéquation à un usage particulier et d'absence de contrefaçon sont exclues. +LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices. +Cette limitation concerne : + * tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et + * les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d'une autre faute dans la limite autorisée par la loi en vigueur. +Elle s'applique également, même si Microsoft connaissait ou devrait connaître l'éventualité d'un tel dommage. Si votre pays n'autorise pas l'exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l'exclusion ci-dessus ne s'appliquera pas à votre égard. +EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d'autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas. + diff --git a/Plugins/UnrealCLR/Runtime/Win64/ThirdPartyNotices.txt b/Plugins/UnrealCLR/Runtime/Win64/ThirdPartyNotices.txt new file mode 100644 index 00000000..b8d644c4 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Win64/ThirdPartyNotices.txt @@ -0,0 +1,1219 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/aspnet/AspNetCore/blob/master/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2020 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +http://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 + + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" +--------------------------------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, or Digital Equipment Corporation be used in advertising +or publicity pertaining to distribution of the software without +specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment +Corporation makes any representations about the suitability of +this software for any purpose. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash Library +Copyright (c) 2012-2014, Yann Collet +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xorshift RNGs +-------------------------------- + +George Marsaglia +2003-07-04 +Journal of Statistical Software +License: http://creativecommons.org/licenses/by/3.0/ + +https://www.jstatsoft.org/article/view/v008i14 +https://www.jstatsoft.org/index.php/jss/article/view/v008i14/xorshift.pdf + +License notice for Xorshift (Wikipedia) +--------------------------------------- + +https://en.wikipedia.org/wiki/Xorshift +License: https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License + +License for fastmod (https://github.com/lemire/fastmod) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for Angular v8.0 +-------------------------------------------- +The MIT License (MIT) +===================== + +Copyright (c) 2010-2019 Google LLC. http://angular.io/license + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for corefx + +License notice for BedrockFramework +=================================== + +MIT License + +Copyright (c) 2019 David Fowler + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for Swashbuckle +=================================== + +The MIT License (MIT) + +Copyright (c) 2016 Richard Morris + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for cli-spinners +============================================= + +MIT License + +Copyright (c) Sindre Sorhus (https://sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for dotnet-deb-tool +------------------------------------ + +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for IIS-Common +------------------------------------ + +MIT License + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for IIS-Setup +------------------------------------ + +MIT License + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for LZMA SDK +--------------------------- + +http://7-zip.org/sdk.html + +LZMA SDK is placed in the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or distribute the +original LZMA SDK code, either in source code form or as a compiled binary, +for any purpose, commercial or non-commercial, and by any means. + +License notice for MonoDevelop +------------------------------ + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Nuget.Client +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +these files except in compliance with the License. You may obtain a copy of the +License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for Ookie.Dialogs +-------------------------------- + +http://www.ookii.org/software/dialogs/ + +Copyright © Sven Groot (Ookii.org) 2009 +All rights reserved. + + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1) Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2) Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3) Neither the name of the ORGANIZATION nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +License notice for viz.js +------------------------------------ + +Copyright (c) 2014-2018 Michael Daines + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for West Wind Live Reload ASP.NET Core Middleware +============================================= + + + +--- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +MIT License +----------- + +Copyright (c) 2019-2020 West Wind Technologies + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/Plugins/UnrealCLR/Runtime/Win64/host/fxr/5.0.9/hostfxr.dll b/Plugins/UnrealCLR/Runtime/Win64/host/fxr/5.0.9/hostfxr.dll new file mode 100644 index 00000000..f5a55d15 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/host/fxr/5.0.9/hostfxr.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/.version b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/.version new file mode 100644 index 00000000..aaa309c1 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/.version @@ -0,0 +1,2 @@ +208e377a5329ad6eb1db5e5fb9d4590fa50beadd +5.0.9 diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll new file mode 100644 index 00000000..7500e908 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.CSharp.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.DiaSymReader.Native.amd64.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.DiaSymReader.Native.amd64.dll new file mode 100644 index 00000000..e376a203 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.DiaSymReader.Native.amd64.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json new file mode 100644 index 00000000..c216b0af --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.NETCore.App.deps.json @@ -0,0 +1,1592 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v5.0/win-x64", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v5.0": {}, + ".NETCoreApp,Version=v5.0/win-x64": { + "Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": {}, + "Microsoft.DiaSymReader.Native/1.7.0": {}, + "Microsoft.DiaSymReader.Pdb2Pdb/1.1.0-beta2-19575-01": {}, + "Microsoft.DotNet.Build.Tasks.Installers/5.0.0-beta.21328.3": {}, + "Microsoft.DotNet.Build.Tasks.Packaging/5.0.0-beta.21328.3": {}, + "Microsoft.Net.Compilers.Toolset/3.8.0-4.20503.2": {}, + "Microsoft.NETCore.App/5.0.9-servicing.21359.8": { + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0" + } + }, + "Microsoft.NETCore.App.Internal/5.0.9-servicing.21359.8": { + "dependencies": { + "Microsoft.NETCore.DotNetHostPolicy": "5.0.9", + "Microsoft.NETCore.Platforms": "5.0.0", + "Microsoft.NETCore.Targets": "5.0.0", + "NETStandard.Library": "2.2.0-prerelease.19564.1", + "runtime.win-x64.Microsoft.NETCore.App": "5.0.9-servicing.21359.8" + } + }, + "Microsoft.NETCore.DotNetHostPolicy/5.0.9": { + "dependencies": { + "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy": "5.0.9" + } + }, + "Microsoft.NETCore.Platforms/5.0.0": {}, + "Microsoft.NETCore.Targets/5.0.0": {}, + "Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2": {}, + "Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": { + "dependencies": { + "Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02", + "Microsoft.SourceLink.Common": "1.1.0-beta-20206-02" + } + }, + "Microsoft.SourceLink.Common/1.1.0-beta-20206-02": {}, + "Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": { + "dependencies": { + "Microsoft.Build.Tasks.Git": "1.1.0-beta-20206-02", + "Microsoft.SourceLink.Common": "1.1.0-beta-20206-02" + } + }, + "NETStandard.Library/2.2.0-prerelease.19564.1": { + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0" + } + }, + "runtime.win-x64.Microsoft.NETCore.App/5.0.9-servicing.21359.8": { + "runtime": { + "runtimes/win-x64/lib/net5.0/Microsoft.CSharp.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/Microsoft.VisualBasic.Core.dll": { + "assemblyVersion": "10.0.6.0", + "fileVersion": "11.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/Microsoft.VisualBasic.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/Microsoft.Win32.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/Microsoft.Win32.Registry.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.AppContext.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Buffers.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Collections.Concurrent.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Collections.Immutable.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Collections.NonGeneric.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Collections.Specialized.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Collections.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.ComponentModel.Annotations.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.ComponentModel.DataAnnotations.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.ComponentModel.EventBasedAsync.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.ComponentModel.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.ComponentModel.TypeConverter.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.ComponentModel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Configuration.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Console.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Core.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Data.Common.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Data.DataSetExtensions.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Data.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Diagnostics.Contracts.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Diagnostics.Debug.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Diagnostics.FileVersionInfo.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Diagnostics.Process.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Diagnostics.StackTrace.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Diagnostics.TextWriterTraceListener.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Diagnostics.Tools.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Diagnostics.TraceSource.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Diagnostics.Tracing.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Drawing.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Drawing.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Dynamic.Runtime.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Formats.Asn1.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Globalization.Calendars.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Globalization.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Globalization.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.Compression.Brotli.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.Compression.FileSystem.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.Compression.ZipFile.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.Compression.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.FileSystem.AccessControl.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.FileSystem.DriveInfo.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.FileSystem.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.FileSystem.Watcher.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.FileSystem.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.IsolatedStorage.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.MemoryMappedFiles.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.Pipes.AccessControl.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.Pipes.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.UnmanagedMemoryStream.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.IO.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Linq.Expressions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Linq.Parallel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Linq.Queryable.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Linq.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Memory.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.Http.Json.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.Http.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.HttpListener.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.Mail.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.NameResolution.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.NetworkInformation.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.Ping.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.Requests.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.Security.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.ServicePoint.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.Sockets.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.WebClient.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.WebHeaderCollection.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.WebProxy.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.WebSockets.Client.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.WebSockets.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Net.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Numerics.Vectors.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Numerics.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.ObjectModel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Private.DataContractSerialization.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Private.Uri.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Private.Xml.Linq.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Private.Xml.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Reflection.DispatchProxy.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Reflection.Emit.ILGeneration.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Reflection.Emit.Lightweight.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Reflection.Emit.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Reflection.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Reflection.Metadata.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Reflection.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Reflection.TypeExtensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Reflection.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Resources.Reader.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Resources.ResourceManager.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Resources.Writer.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.CompilerServices.Unsafe.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.CompilerServices.VisualC.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.Handles.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.InteropServices.RuntimeInformation.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.InteropServices.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.Intrinsics.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.Loader.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.Numerics.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.Serialization.Formatters.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.Serialization.Json.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.Serialization.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.Serialization.Xml.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.Serialization.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Runtime.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.AccessControl.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.Claims.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.Algorithms.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.Cng.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.Csp.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.Encoding.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.OpenSsl.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.Primitives.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.Cryptography.X509Certificates.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.Principal.Windows.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.Principal.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.SecureString.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Security.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.ServiceModel.Web.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.ServiceProcess.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Text.Encoding.CodePages.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Text.Encoding.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Text.Encoding.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Text.Encodings.Web.dll": { + "assemblyVersion": "5.0.0.1", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Text.Json.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Text.RegularExpressions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Threading.Channels.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Threading.Overlapped.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Threading.Tasks.Dataflow.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Threading.Tasks.Extensions.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Threading.Tasks.Parallel.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Threading.Tasks.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Threading.Thread.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Threading.ThreadPool.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Threading.Timer.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Threading.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Transactions.Local.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Transactions.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.ValueTuple.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Web.HttpUtility.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Web.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Windows.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Xml.Linq.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Xml.ReaderWriter.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Xml.Serialization.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Xml.XDocument.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Xml.XPath.XDocument.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Xml.XPath.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Xml.XmlDocument.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Xml.XmlSerializer.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.Xml.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/System.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/WindowsBase.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/mscorlib.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/lib/net5.0/netstandard.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "5.0.921.35908" + } + }, + "native": { + "runtimes/win-x64/native/Microsoft.DiaSymReader.Native.amd64.dll": { + "fileVersion": "14.12.25830.2" + }, + "runtimes/win-x64/native/System.Private.CoreLib.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/native/api-ms-win-core-console-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-console-l1-2-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-datetime-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-debug-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-errorhandling-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-file-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-file-l1-2-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-file-l2-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-handle-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-heap-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-interlocked-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-libraryloader-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-localization-l1-2-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-memory-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-namedpipe-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-processenvironment-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-processthreads-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-processthreads-l1-1-1.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-profile-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-rtlsupport-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-string-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-synch-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-synch-l1-2-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-sysinfo-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-timezone-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-core-util-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-conio-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-convert-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-environment-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-filesystem-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-heap-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-locale-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-math-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-multibyte-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-private-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-process-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-runtime-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-stdio-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-string-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-time-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/api-ms-win-crt-utility-l1-1-0.dll": { + "fileVersion": "10.0.19041.685" + }, + "runtimes/win-x64/native/clrcompression.dll": { + "fileVersion": "42.42.42.42424" + }, + "runtimes/win-x64/native/clretwrc.dll": { + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/native/clrjit.dll": { + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/native/coreclr.dll": { + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/native/createdump.exe": { + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/native/dbgshim.dll": { + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/native/mscordaccore.dll": { + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/native/mscordaccore_amd64_amd64_5.0.921.35908.dll": { + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/native/mscordbi.dll": { + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/native/mscorrc.dll": { + "fileVersion": "5.0.921.35908" + }, + "runtimes/win-x64/native/ucrtbase.dll": { + "fileVersion": "10.0.19041.685" + } + } + }, + "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.9": { + "native": { + "runtimes/win-x64/native/hostpolicy.dll": { + "fileVersion": "5.0.921.35908" + } + } + } + } + }, + "libraries": { + "Microsoft.Build.Tasks.Git/1.1.0-beta-20206-02": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hZ9leS9Yd9MHpqvviMftSJFDcLYu2h1DrapW1TDm1s1fgOy71c8HvArNMd3fseVkXmp3VTfGnkgcw0FR+TI6xw==", + "path": "microsoft.build.tasks.git/1.1.0-beta-20206-02", + "hashPath": "microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg.sha512" + }, + "Microsoft.DiaSymReader.Native/1.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vIzndj0MoWW2Mp/iztUSKvmR9vZTqOVQ6PBvwA57+CDoiz7eUMU15rrAX+/QA0bkmwQ08GRibFBB9LNOl0EiBA==", + "path": "microsoft.diasymreader.native/1.7.0", + "hashPath": "microsoft.diasymreader.native.1.7.0.nupkg.sha512" + }, + "Microsoft.DiaSymReader.Pdb2Pdb/1.1.0-beta2-19575-01": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kY6eTNkeWLHvfOjg97Q7tgQKrPpX+Y3fR6fS4nyfpgFLHBxHriLBR4v3e9t71it91gIMEeKUqOqrFJ7Pj48eHA==", + "path": "microsoft.diasymreader.pdb2pdb/1.1.0-beta2-19575-01", + "hashPath": "microsoft.diasymreader.pdb2pdb.1.1.0-beta2-19575-01.nupkg.sha512" + }, + "Microsoft.DotNet.Build.Tasks.Installers/5.0.0-beta.21328.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-68fxMTtraSXCUYZx7vNVb9PvIJ9FhPjymbvrkl/6h7S/NlQz6bxyZksTd6ghMs4gyQLHRCuDX/O/dT6Gd6qIag==", + "path": "microsoft.dotnet.build.tasks.installers/5.0.0-beta.21328.3", + "hashPath": "microsoft.dotnet.build.tasks.installers.5.0.0-beta.21328.3.nupkg.sha512" + }, + "Microsoft.DotNet.Build.Tasks.Packaging/5.0.0-beta.21328.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rswwdycY3QmJ3DvyOGVMHDdZxxnE76MQFWZWqhniJqgbXPefQnXvDF4YXgCPnAENDYtsjohpaav1XDEyt84UHw==", + "path": "microsoft.dotnet.build.tasks.packaging/5.0.0-beta.21328.3", + "hashPath": "microsoft.dotnet.build.tasks.packaging.5.0.0-beta.21328.3.nupkg.sha512" + }, + "Microsoft.Net.Compilers.Toolset/3.8.0-4.20503.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jfscID/5IHHPVVEbFCAJEUEWCeWNZCLwyBcUFG3/u44oiRd/aseDOYRzl3OnIIvcwzi0U2lSAs6Lt2+rdRIDMg==", + "path": "microsoft.net.compilers.toolset/3.8.0-4.20503.2", + "hashPath": "microsoft.net.compilers.toolset.3.8.0-4.20503.2.nupkg.sha512" + }, + "Microsoft.NETCore.App/5.0.9-servicing.21359.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oYiMUcecaDmS0VJJPCAh/SSEnKAGH6dOwjRyXPEKiUqh8XNmcwLIFHA/i8zVuxrCYkCPpWyjw0bOHJsPrMiaqA==", + "path": "microsoft.netcore.app/5.0.9-servicing.21359.8", + "hashPath": "microsoft.netcore.app.5.0.9-servicing.21359.8.nupkg.sha512" + }, + "Microsoft.NETCore.App.Internal/5.0.9-servicing.21359.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5PNSlvpzpJ3Uq+MuLFG6ajoDamaHvlQ3/Zwx1Af2aT2l11uvSVWxvQwUJTE/QzUXT7CO/UmYrbWHoeInWqo/cg==", + "path": "microsoft.netcore.app.internal/5.0.9-servicing.21359.8", + "hashPath": "microsoft.netcore.app.internal.5.0.9-servicing.21359.8.nupkg.sha512" + }, + "Microsoft.NETCore.DotNetHostPolicy/5.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-a99qgfcfnXXv2f14/GkIr5tEejf6C2Z1M1vQVPlpbRhQHKqrGfsIuBb9TOOArWcn8JRynClMI4wYXrv6hzdxUg==" + }, + "Microsoft.NETCore.Platforms/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==", + "path": "microsoft.netcore.platforms/5.0.0", + "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512" + }, + "Microsoft.NETCore.Targets/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XpSaRv9/+V4KQ5KPbvRoArKy1o9WHizFEdOXPBLHXRZ0zwPGK5cTcWo1SveD7uayrfhod1uAAscip65qLeAjCw==", + "path": "microsoft.netcore.targets/5.0.0", + "hashPath": "microsoft.netcore.targets.5.0.0.nupkg.sha512" + }, + "Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-m+pJPEO7HyXvrOna5Sr3s77ewXonjYWJTNL6drh8xACnMNxnlqUDKx9HfGeSE9wmfY0lQwppaeZpFTPGaH7kZg==", + "path": "microsoft.netframework.referenceassemblies/1.0.0-preview.2", + "hashPath": "microsoft.netframework.referenceassemblies.1.0.0-preview.2.nupkg.sha512" + }, + "Microsoft.SourceLink.AzureRepos.Git/1.1.0-beta-20206-02": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vVYhSds9TfraTQkGHHMDMVWnr3kCkTZ7vmqUmrXQBDJFXiWTuMoP5RRa9s1M/KmgB4szi5TOb7sOaHWKDT9qDA==", + "path": "microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02", + "hashPath": "microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg.sha512" + }, + "Microsoft.SourceLink.Common/1.1.0-beta-20206-02": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aek0RTQ+4Bf11WvqaXajwYoaBWkX2edBjAr5XJOvhAsHX6/9vPOb7IpHAiE/NyCse7IcpGWslJZHNkv4UBEFqw==", + "path": "microsoft.sourcelink.common/1.1.0-beta-20206-02", + "hashPath": "microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg.sha512" + }, + "Microsoft.SourceLink.GitHub/1.1.0-beta-20206-02": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7A7P0EwL+lypaI/CEvG4IcpAlQeAt04uPPw1SO6Q9Jwz2nE9309pQXJ4TfP/RLL8IOObACidN66+gVR+bJDZHw==", + "path": "microsoft.sourcelink.github/1.1.0-beta-20206-02", + "hashPath": "microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg.sha512" + }, + "NETStandard.Library/2.2.0-prerelease.19564.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-y7Z0OKA/O5mW8aPEI4oXTSjinUTwGDwKEZMKTGdzb+vLgGRuvrZrs1YidcFN2kIKOo/11bOSNfKn4lsOLUWHkQ==", + "path": "netstandard.library/2.2.0-prerelease.19564.1", + "hashPath": "netstandard.library.2.2.0-prerelease.19564.1.nupkg.sha512" + }, + "runtime.win-x64.Microsoft.NETCore.App/5.0.9-servicing.21359.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rGs3Hez+pKeeGXMdR+ohmiLNvuimGLZEy0vg01H0X79FELHAKsh1695bP6xeE87ZqDapvO+HmRfBnnkafKaQmw==", + "path": "runtime.win-x64.microsoft.netcore.app/5.0.9-servicing.21359.8", + "hashPath": "runtime.win-x64.microsoft.netcore.app.5.0.9-servicing.21359.8.nupkg.sha512" + }, + "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I3nuVVCu98BQLcnCKaLnik3P9I97otKIBmYVYK5kfZ8oDtxEzJR6zpWx2zo6daGCj1fw2+aQBE3w50FqLG65pw==" + } + }, + "runtimes": { + "win-arm": [ + "win", + "any", + "base" + ], + "win-arm64": [ + "win", + "any", + "base" + ], + "win-x64": [ + "win", + "any", + "base" + ], + "win-x86": [ + "win", + "any", + "base" + ], + "win": [ + "any", + "base" + ], + "win-aot": [ + "win", + "aot", + "any", + "base" + ], + "win-arm-aot": [ + "win-aot", + "win-arm", + "win", + "aot", + "any", + "base" + ], + "win-arm64-aot": [ + "win-aot", + "win-arm64", + "win", + "aot", + "any", + "base" + ], + "win-x64-aot": [ + "win-aot", + "win-x64", + "win", + "aot", + "any", + "base" + ], + "win-x86-aot": [ + "win-aot", + "win-x86", + "win", + "aot", + "any", + "base" + ], + "win10": [ + "win81", + "win8", + "win7", + "win", + "any", + "base" + ], + "win10-aot": [ + "win10", + "win81-aot", + "win81", + "win8-aot", + "win8", + "win7-aot", + "win7", + "win-aot", + "win", + "aot", + "any", + "base" + ], + "win10-arm": [ + "win10", + "win81-arm", + "win81", + "win8-arm", + "win8", + "win7-arm", + "win7", + "win-arm", + "win", + "any", + "base" + ], + "win10-arm-aot": [ + "win10-aot", + "win10-arm", + "win10", + "win81-arm-aot", + "win81-aot", + "win81-arm", + "win81", + "win8-arm-aot", + "win8-aot", + "win8-arm", + "win8", + "win7-arm-aot", + "win7-aot", + "win7-arm", + "win7", + "win-arm-aot", + "win-aot", + "win-arm", + "win", + "aot", + "any", + "base" + ], + "win10-arm64": [ + "win10", + "win81-arm64", + "win81", + "win8-arm64", + "win8", + "win7-arm64", + "win7", + "win-arm64", + "win", + "any", + "base" + ], + "win10-arm64-aot": [ + "win10-aot", + "win10-arm64", + "win10", + "win81-arm64-aot", + "win81-aot", + "win81-arm64", + "win81", + "win8-arm64-aot", + "win8-aot", + "win8-arm64", + "win8", + "win7-arm64-aot", + "win7-aot", + "win7-arm64", + "win7", + "win-arm64-aot", + "win-aot", + "win-arm64", + "win", + "aot", + "any", + "base" + ], + "win10-x64": [ + "win10", + "win81-x64", + "win81", + "win8-x64", + "win8", + "win7-x64", + "win7", + "win-x64", + "win", + "any", + "base" + ], + "win10-x64-aot": [ + "win10-aot", + "win10-x64", + "win10", + "win81-x64-aot", + "win81-aot", + "win81-x64", + "win81", + "win8-x64-aot", + "win8-aot", + "win8-x64", + "win8", + "win7-x64-aot", + "win7-aot", + "win7-x64", + "win7", + "win-x64-aot", + "win-aot", + "win-x64", + "win", + "aot", + "any", + "base" + ], + "win10-x86": [ + "win10", + "win81-x86", + "win81", + "win8-x86", + "win8", + "win7-x86", + "win7", + "win-x86", + "win", + "any", + "base" + ], + "win10-x86-aot": [ + "win10-aot", + "win10-x86", + "win10", + "win81-x86-aot", + "win81-aot", + "win81-x86", + "win81", + "win8-x86-aot", + "win8-aot", + "win8-x86", + "win8", + "win7-x86-aot", + "win7-aot", + "win7-x86", + "win7", + "win-x86-aot", + "win-aot", + "win-x86", + "win", + "aot", + "any", + "base" + ], + "win7": [ + "win", + "any", + "base" + ], + "win7-aot": [ + "win7", + "win-aot", + "win", + "aot", + "any", + "base" + ], + "win7-arm": [ + "win7", + "win-arm", + "win", + "any", + "base" + ], + "win7-arm-aot": [ + "win7-aot", + "win7-arm", + "win7", + "win-arm-aot", + "win-aot", + "win-arm", + "win", + "aot", + "any", + "base" + ], + "win7-arm64": [ + "win7", + "win-arm64", + "win", + "any", + "base" + ], + "win7-arm64-aot": [ + "win7-aot", + "win7-arm64", + "win7", + "win-arm64-aot", + "win-aot", + "win-arm64", + "win", + "aot", + "any", + "base" + ], + "win7-x64": [ + "win7", + "win-x64", + "win", + "any", + "base" + ], + "win7-x64-aot": [ + "win7-aot", + "win7-x64", + "win7", + "win-x64-aot", + "win-aot", + "win-x64", + "win", + "aot", + "any", + "base" + ], + "win7-x86": [ + "win7", + "win-x86", + "win", + "any", + "base" + ], + "win7-x86-aot": [ + "win7-aot", + "win7-x86", + "win7", + "win-x86-aot", + "win-aot", + "win-x86", + "win", + "aot", + "any", + "base" + ], + "win8": [ + "win7", + "win", + "any", + "base" + ], + "win8-aot": [ + "win8", + "win7-aot", + "win7", + "win-aot", + "win", + "aot", + "any", + "base" + ], + "win8-arm": [ + "win8", + "win7-arm", + "win7", + "win-arm", + "win", + "any", + "base" + ], + "win8-arm-aot": [ + "win8-aot", + "win8-arm", + "win8", + "win7-arm-aot", + "win7-aot", + "win7-arm", + "win7", + "win-arm-aot", + "win-aot", + "win-arm", + "win", + "aot", + "any", + "base" + ], + "win8-arm64": [ + "win8", + "win7-arm64", + "win7", + "win-arm64", + "win", + "any", + "base" + ], + "win8-arm64-aot": [ + "win8-aot", + "win8-arm64", + "win8", + "win7-arm64-aot", + "win7-aot", + "win7-arm64", + "win7", + "win-arm64-aot", + "win-aot", + "win-arm64", + "win", + "aot", + "any", + "base" + ], + "win8-x64": [ + "win8", + "win7-x64", + "win7", + "win-x64", + "win", + "any", + "base" + ], + "win8-x64-aot": [ + "win8-aot", + "win8-x64", + "win8", + "win7-x64-aot", + "win7-aot", + "win7-x64", + "win7", + "win-x64-aot", + "win-aot", + "win-x64", + "win", + "aot", + "any", + "base" + ], + "win8-x86": [ + "win8", + "win7-x86", + "win7", + "win-x86", + "win", + "any", + "base" + ], + "win8-x86-aot": [ + "win8-aot", + "win8-x86", + "win8", + "win7-x86-aot", + "win7-aot", + "win7-x86", + "win7", + "win-x86-aot", + "win-aot", + "win-x86", + "win", + "aot", + "any", + "base" + ], + "win81": [ + "win8", + "win7", + "win", + "any", + "base" + ], + "win81-aot": [ + "win81", + "win8-aot", + "win8", + "win7-aot", + "win7", + "win-aot", + "win", + "aot", + "any", + "base" + ], + "win81-arm": [ + "win81", + "win8-arm", + "win8", + "win7-arm", + "win7", + "win-arm", + "win", + "any", + "base" + ], + "win81-arm-aot": [ + "win81-aot", + "win81-arm", + "win81", + "win8-arm-aot", + "win8-aot", + "win8-arm", + "win8", + "win7-arm-aot", + "win7-aot", + "win7-arm", + "win7", + "win-arm-aot", + "win-aot", + "win-arm", + "win", + "aot", + "any", + "base" + ], + "win81-arm64": [ + "win81", + "win8-arm64", + "win8", + "win7-arm64", + "win7", + "win-arm64", + "win", + "any", + "base" + ], + "win81-arm64-aot": [ + "win81-aot", + "win81-arm64", + "win81", + "win8-arm64-aot", + "win8-aot", + "win8-arm64", + "win8", + "win7-arm64-aot", + "win7-aot", + "win7-arm64", + "win7", + "win-arm64-aot", + "win-aot", + "win-arm64", + "win", + "aot", + "any", + "base" + ], + "win81-x64": [ + "win81", + "win8-x64", + "win8", + "win7-x64", + "win7", + "win-x64", + "win", + "any", + "base" + ], + "win81-x64-aot": [ + "win81-aot", + "win81-x64", + "win81", + "win8-x64-aot", + "win8-aot", + "win8-x64", + "win8", + "win7-x64-aot", + "win7-aot", + "win7-x64", + "win7", + "win-x64-aot", + "win-aot", + "win-x64", + "win", + "aot", + "any", + "base" + ], + "win81-x86": [ + "win81", + "win8-x86", + "win8", + "win7-x86", + "win7", + "win-x86", + "win", + "any", + "base" + ], + "win81-x86-aot": [ + "win81-aot", + "win81-x86", + "win81", + "win8-x86-aot", + "win8-aot", + "win8-x86", + "win8", + "win7-x86-aot", + "win7-aot", + "win7-x86", + "win7", + "win-x86-aot", + "win-aot", + "win-x86", + "win", + "aot", + "any", + "base" + ] + } +} \ No newline at end of file diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll new file mode 100644 index 00000000..5d20fcd5 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.Core.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll new file mode 100644 index 00000000..9763bc86 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.VisualBasic.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll new file mode 100644 index 00000000..8bb7f009 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll new file mode 100644 index 00000000..fdb545fa Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/Microsoft.Win32.Registry.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll new file mode 100644 index 00000000..b60e60cb Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.AppContext.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll new file mode 100644 index 00000000..6b4a2b7c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Buffers.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll new file mode 100644 index 00000000..7a12114d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Concurrent.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll new file mode 100644 index 00000000..2e9dc9e2 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Immutable.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll new file mode 100644 index 00000000..c818eaae Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.NonGeneric.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll new file mode 100644 index 00000000..28138e9b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.Specialized.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll new file mode 100644 index 00000000..89a5ee89 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Collections.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll new file mode 100644 index 00000000..bd3f694f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Annotations.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll new file mode 100644 index 00000000..019f5924 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.DataAnnotations.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll new file mode 100644 index 00000000..fe8ba88d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.EventBasedAsync.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll new file mode 100644 index 00000000..d46ff850 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll new file mode 100644 index 00000000..15999456 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.TypeConverter.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll new file mode 100644 index 00000000..46448a3e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ComponentModel.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll new file mode 100644 index 00000000..624b3f3f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Configuration.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll new file mode 100644 index 00000000..b71d9ce5 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Console.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll new file mode 100644 index 00000000..27c6266b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Core.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll new file mode 100644 index 00000000..83633bfa Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.Common.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll new file mode 100644 index 00000000..1e54d4f6 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.DataSetExtensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll new file mode 100644 index 00000000..03b5386d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Data.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll new file mode 100644 index 00000000..83eb4b3d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Contracts.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll new file mode 100644 index 00000000..3b8da7f7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Debug.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll new file mode 100644 index 00000000..28cff94a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.DiagnosticSource.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll new file mode 100644 index 00000000..b2f4e111 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.FileVersionInfo.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll new file mode 100644 index 00000000..ba6afd2d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Process.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll new file mode 100644 index 00000000..c7484ac4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.StackTrace.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll new file mode 100644 index 00000000..9f38e2a3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TextWriterTraceListener.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll new file mode 100644 index 00000000..c930782b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tools.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll new file mode 100644 index 00000000..9cf10ea2 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.TraceSource.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll new file mode 100644 index 00000000..24ae6f4e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Diagnostics.Tracing.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll new file mode 100644 index 00000000..6bb6704c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll new file mode 100644 index 00000000..c1f30b3c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Drawing.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll new file mode 100644 index 00000000..728b5f76 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Dynamic.Runtime.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll new file mode 100644 index 00000000..f5e1b9da Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Formats.Asn1.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll new file mode 100644 index 00000000..ab95331c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Calendars.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll new file mode 100644 index 00000000..96b8535c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll new file mode 100644 index 00000000..4495834d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Globalization.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll new file mode 100644 index 00000000..0e2b4f8d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.Brotli.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll new file mode 100644 index 00000000..c26bc914 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.FileSystem.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll new file mode 100644 index 00000000..97645a90 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.ZipFile.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll new file mode 100644 index 00000000..ddb17fda Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Compression.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll new file mode 100644 index 00000000..c9fa2e69 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.AccessControl.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll new file mode 100644 index 00000000..c4d91481 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.DriveInfo.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll new file mode 100644 index 00000000..ffb7128e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll new file mode 100644 index 00000000..3449484b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.Watcher.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll new file mode 100644 index 00000000..04ebaed6 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.FileSystem.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll new file mode 100644 index 00000000..d47396a3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.IsolatedStorage.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll new file mode 100644 index 00000000..0aeaa62d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.MemoryMappedFiles.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll new file mode 100644 index 00000000..01fc9248 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.AccessControl.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll new file mode 100644 index 00000000..1467bd60 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.Pipes.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll new file mode 100644 index 00000000..543c3057 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.UnmanagedMemoryStream.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll new file mode 100644 index 00000000..0ff58d84 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.IO.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll new file mode 100644 index 00000000..96fb37d8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Expressions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll new file mode 100644 index 00000000..d09889de Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Parallel.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll new file mode 100644 index 00000000..aa721884 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.Queryable.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll new file mode 100644 index 00000000..03450cbe Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Linq.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll new file mode 100644 index 00000000..d00c59a5 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Memory.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll new file mode 100644 index 00000000..38299890 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.Json.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll new file mode 100644 index 00000000..185bf84e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Http.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll new file mode 100644 index 00000000..db65f583 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.HttpListener.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll new file mode 100644 index 00000000..d18b6407 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Mail.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll new file mode 100644 index 00000000..c1fdcefd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.NameResolution.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll new file mode 100644 index 00000000..dd1fc7a8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.NetworkInformation.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll new file mode 100644 index 00000000..d5b63ff7 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Ping.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll new file mode 100644 index 00000000..aa53ffaa Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll new file mode 100644 index 00000000..d36ce6ea Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Requests.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll new file mode 100644 index 00000000..79909481 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Security.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll new file mode 100644 index 00000000..77604dce Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.ServicePoint.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll new file mode 100644 index 00000000..a057b5e9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.Sockets.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll new file mode 100644 index 00000000..27d60473 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebClient.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll new file mode 100644 index 00000000..66786473 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebHeaderCollection.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll new file mode 100644 index 00000000..7be8e961 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebProxy.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll new file mode 100644 index 00000000..8e61f3fb Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.Client.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll new file mode 100644 index 00000000..978b283e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.WebSockets.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll new file mode 100644 index 00000000..911be4fe Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Net.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll new file mode 100644 index 00000000..989d4533 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.Vectors.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll new file mode 100644 index 00000000..97f21029 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Numerics.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll new file mode 100644 index 00000000..aaacc6d3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ObjectModel.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll new file mode 100644 index 00000000..584211bd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.CoreLib.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll new file mode 100644 index 00000000..75a83b44 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.DataContractSerialization.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll new file mode 100644 index 00000000..df566944 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Uri.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll new file mode 100644 index 00000000..6d7aa122 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.Linq.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll new file mode 100644 index 00000000..246107c8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Private.Xml.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll new file mode 100644 index 00000000..9884f32d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.DispatchProxy.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll new file mode 100644 index 00000000..4f9d8c62 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.ILGeneration.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll new file mode 100644 index 00000000..e5d8f502 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.Lightweight.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll new file mode 100644 index 00000000..ca57917c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Emit.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll new file mode 100644 index 00000000..be949156 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll new file mode 100644 index 00000000..438c7717 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Metadata.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll new file mode 100644 index 00000000..90459a6b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll new file mode 100644 index 00000000..0f61d76a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.TypeExtensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll new file mode 100644 index 00000000..84a16ec4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Reflection.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll new file mode 100644 index 00000000..2ae2ca93 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Reader.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll new file mode 100644 index 00000000..79c23407 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.ResourceManager.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll new file mode 100644 index 00000000..927efb6a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Resources.Writer.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 00000000..df834730 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll new file mode 100644 index 00000000..9257f705 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.CompilerServices.VisualC.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll new file mode 100644 index 00000000..e025004f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll new file mode 100644 index 00000000..43b02f28 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Handles.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll new file mode 100644 index 00000000..6de10830 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.RuntimeInformation.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll new file mode 100644 index 00000000..c1d0942d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.InteropServices.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll new file mode 100644 index 00000000..9f72a188 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Intrinsics.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll new file mode 100644 index 00000000..8548aceb Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Loader.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll new file mode 100644 index 00000000..b5d9c612 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Numerics.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll new file mode 100644 index 00000000..52bf111a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Formatters.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll new file mode 100644 index 00000000..67d5ece3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Json.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll new file mode 100644 index 00000000..5bdd7398 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll new file mode 100644 index 00000000..5b7f8ce3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.Xml.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll new file mode 100644 index 00000000..b8ef0b71 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.Serialization.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll new file mode 100644 index 00000000..f7156068 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Runtime.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll new file mode 100644 index 00000000..d556ca63 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.AccessControl.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll new file mode 100644 index 00000000..5cd035cf Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Claims.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll new file mode 100644 index 00000000..a55dae66 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Algorithms.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll new file mode 100644 index 00000000..348a9774 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Cng.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll new file mode 100644 index 00000000..0c308006 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Csp.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll new file mode 100644 index 00000000..4be13b35 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Encoding.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll new file mode 100644 index 00000000..527c9a69 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.OpenSsl.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll new file mode 100644 index 00000000..23b17fc2 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.Primitives.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll new file mode 100644 index 00000000..b81bffd0 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Cryptography.X509Certificates.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll new file mode 100644 index 00000000..ce71dca8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.Windows.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll new file mode 100644 index 00000000..6c5f43e0 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.Principal.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll new file mode 100644 index 00000000..f54c49e9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.SecureString.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll new file mode 100644 index 00000000..b38d9834 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Security.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll new file mode 100644 index 00000000..0f750ed4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ServiceModel.Web.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll new file mode 100644 index 00000000..22d930c2 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ServiceProcess.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll new file mode 100644 index 00000000..533466e9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.CodePages.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll new file mode 100644 index 00000000..f95322e4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll new file mode 100644 index 00000000..c991b905 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encoding.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll new file mode 100644 index 00000000..45e0a531 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Encodings.Web.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll new file mode 100644 index 00000000..5cef116b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.Json.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll new file mode 100644 index 00000000..fdb98cdd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Text.RegularExpressions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll new file mode 100644 index 00000000..6cfd7609 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Channels.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll new file mode 100644 index 00000000..a1bba65e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Overlapped.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll new file mode 100644 index 00000000..8327bd56 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Dataflow.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll new file mode 100644 index 00000000..ba3a52f2 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Extensions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll new file mode 100644 index 00000000..dd6ff840 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.Parallel.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll new file mode 100644 index 00000000..23b6c32b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Tasks.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll new file mode 100644 index 00000000..9027233b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Thread.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll new file mode 100644 index 00000000..1065305c Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.ThreadPool.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll new file mode 100644 index 00000000..c9a22a5a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.Timer.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll new file mode 100644 index 00000000..2cc83e43 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Threading.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll new file mode 100644 index 00000000..91999b58 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.Local.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll new file mode 100644 index 00000000..56ff8af9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Transactions.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll new file mode 100644 index 00000000..203a8cbf Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.ValueTuple.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll new file mode 100644 index 00000000..47e59089 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Web.HttpUtility.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll new file mode 100644 index 00000000..22fec5a1 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Web.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll new file mode 100644 index 00000000..cbd9d523 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Windows.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll new file mode 100644 index 00000000..85866d7f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Linq.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll new file mode 100644 index 00000000..e2b2d661 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.ReaderWriter.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll new file mode 100644 index 00000000..5cbf4b47 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.Serialization.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll new file mode 100644 index 00000000..80979389 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XDocument.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll new file mode 100644 index 00000000..c66d41c9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.XDocument.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll new file mode 100644 index 00000000..65bf1e38 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XPath.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll new file mode 100644 index 00000000..ecdea1c9 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlDocument.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll new file mode 100644 index 00000000..f7191aaf Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.XmlSerializer.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll new file mode 100644 index 00000000..1eed1c8b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.Xml.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.dll new file mode 100644 index 00000000..e52c4447 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/System.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll new file mode 100644 index 00000000..387e2d8b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/WindowsBase.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-console-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-console-l1-1-0.dll new file mode 100644 index 00000000..59df9b70 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-console-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-console-l1-2-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-console-l1-2-0.dll new file mode 100644 index 00000000..255602a3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-console-l1-2-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-datetime-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-datetime-l1-1-0.dll new file mode 100644 index 00000000..770ae176 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-datetime-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-debug-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-debug-l1-1-0.dll new file mode 100644 index 00000000..cf936c96 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-debug-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-errorhandling-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-errorhandling-l1-1-0.dll new file mode 100644 index 00000000..31d9e308 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-errorhandling-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l1-1-0.dll new file mode 100644 index 00000000..9a6c49fd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l1-2-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l1-2-0.dll new file mode 100644 index 00000000..4166dc5a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l1-2-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l2-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l2-1-0.dll new file mode 100644 index 00000000..c3730d5a Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-file-l2-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-handle-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-handle-l1-1-0.dll new file mode 100644 index 00000000..c6d92b28 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-handle-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-heap-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-heap-l1-1-0.dll new file mode 100644 index 00000000..71419b91 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-heap-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-interlocked-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-interlocked-l1-1-0.dll new file mode 100644 index 00000000..69b7ad1d Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-interlocked-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-libraryloader-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-libraryloader-l1-1-0.dll new file mode 100644 index 00000000..f37503ed Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-libraryloader-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-localization-l1-2-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-localization-l1-2-0.dll new file mode 100644 index 00000000..5f938cca Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-localization-l1-2-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-memory-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-memory-l1-1-0.dll new file mode 100644 index 00000000..d3f895ae Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-memory-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-namedpipe-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-namedpipe-l1-1-0.dll new file mode 100644 index 00000000..1d731299 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-namedpipe-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processenvironment-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processenvironment-l1-1-0.dll new file mode 100644 index 00000000..fa2d53df Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processenvironment-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processthreads-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processthreads-l1-1-0.dll new file mode 100644 index 00000000..13fc5dca Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processthreads-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processthreads-l1-1-1.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processthreads-l1-1-1.dll new file mode 100644 index 00000000..551ef210 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-processthreads-l1-1-1.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-profile-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-profile-l1-1-0.dll new file mode 100644 index 00000000..8f0fde38 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-profile-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-rtlsupport-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-rtlsupport-l1-1-0.dll new file mode 100644 index 00000000..89f12452 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-rtlsupport-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-string-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-string-l1-1-0.dll new file mode 100644 index 00000000..f2ee6dbb Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-string-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-synch-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-synch-l1-1-0.dll new file mode 100644 index 00000000..b9541f0f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-synch-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-synch-l1-2-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-synch-l1-2-0.dll new file mode 100644 index 00000000..2f1a432b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-synch-l1-2-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-sysinfo-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-sysinfo-l1-1-0.dll new file mode 100644 index 00000000..1d1a3761 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-sysinfo-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-timezone-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-timezone-l1-1-0.dll new file mode 100644 index 00000000..95d4fc2e Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-timezone-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-util-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-util-l1-1-0.dll new file mode 100644 index 00000000..fb2fc919 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-core-util-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-conio-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-conio-l1-1-0.dll new file mode 100644 index 00000000..771a68c1 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-conio-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-convert-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-convert-l1-1-0.dll new file mode 100644 index 00000000..44fea9ab Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-convert-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-environment-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-environment-l1-1-0.dll new file mode 100644 index 00000000..d8a73990 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-environment-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-filesystem-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-filesystem-l1-1-0.dll new file mode 100644 index 00000000..4a283712 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-filesystem-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-heap-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-heap-l1-1-0.dll new file mode 100644 index 00000000..0ab3a324 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-heap-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-locale-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-locale-l1-1-0.dll new file mode 100644 index 00000000..79d46f60 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-locale-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-math-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-math-l1-1-0.dll new file mode 100644 index 00000000..f8b20922 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-math-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-multibyte-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-multibyte-l1-1-0.dll new file mode 100644 index 00000000..31afd5a4 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-multibyte-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-private-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-private-l1-1-0.dll new file mode 100644 index 00000000..240bf464 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-private-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-process-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-process-l1-1-0.dll new file mode 100644 index 00000000..2b517e4b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-process-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-runtime-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-runtime-l1-1-0.dll new file mode 100644 index 00000000..0b1da812 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-runtime-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-stdio-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-stdio-l1-1-0.dll new file mode 100644 index 00000000..74e6f6c3 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-stdio-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-string-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-string-l1-1-0.dll new file mode 100644 index 00000000..c366ed38 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-string-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-time-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-time-l1-1-0.dll new file mode 100644 index 00000000..72c5a14b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-time-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-utility-l1-1-0.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-utility-l1-1-0.dll new file mode 100644 index 00000000..860f8789 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/api-ms-win-crt-utility-l1-1-0.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clrcompression.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clrcompression.dll new file mode 100644 index 00000000..9d956fbe Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clrcompression.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clretwrc.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clretwrc.dll new file mode 100644 index 00000000..d4870827 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clretwrc.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clrjit.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clrjit.dll new file mode 100644 index 00000000..f65c9b7b Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/clrjit.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/coreclr.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/coreclr.dll new file mode 100644 index 00000000..477e2195 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/coreclr.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h new file mode 100644 index 00000000..914ab592 --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/coreclr_delegates.h @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#ifndef __CORECLR_DELEGATES_H__ +#define __CORECLR_DELEGATES_H__ + +#include + +#if defined(_WIN32) + #define CORECLR_DELEGATE_CALLTYPE __stdcall + #ifdef _WCHAR_T_DEFINED + typedef wchar_t char_t; + #else + typedef unsigned short char_t; + #endif +#else + #define CORECLR_DELEGATE_CALLTYPE + typedef char char_t; +#endif + +#define UNMANAGEDCALLERSONLY_METHOD ((const char_t*)-1) + +// Signature of delegate returned by coreclr_delegate_type::load_assembly_and_get_function_pointer +typedef int (CORECLR_DELEGATE_CALLTYPE *load_assembly_and_get_function_pointer_fn)( + const char_t *assembly_path /* Fully qualified path to assembly */, + const char_t *type_name /* Assembly qualified type name */, + const char_t *method_name /* Public static method name compatible with delegateType */, + const char_t *delegate_type_name /* Assembly qualified delegate type name or null + or UNMANAGEDCALLERSONLY_METHOD if the method is marked with + the UnmanagedCallersOnlyAttribute. */, + void *reserved /* Extensibility parameter (currently unused and must be 0) */, + /*out*/ void **delegate /* Pointer where to store the function pointer result */); + +// Signature of delegate returned by load_assembly_and_get_function_pointer_fn when delegate_type_name == null (default) +typedef int (CORECLR_DELEGATE_CALLTYPE *component_entry_point_fn)(void *arg, int32_t arg_size_in_bytes); + +typedef int (CORECLR_DELEGATE_CALLTYPE *get_function_pointer_fn)( + const char_t *type_name /* Assembly qualified type name */, + const char_t *method_name /* Public static method name compatible with delegateType */, + const char_t *delegate_type_name /* Assembly qualified delegate type name or null, + or UNMANAGEDCALLERSONLY_METHOD if the method is marked with + the UnmanagedCallersOnlyAttribute. */, + void *load_context /* Extensibility parameter (currently unused and must be 0) */, + void *reserved /* Extensibility parameter (currently unused and must be 0) */, + /*out*/ void **delegate /* Pointer where to store the function pointer result */); + +#endif // __CORECLR_DELEGATES_H__ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/createdump.exe b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/createdump.exe new file mode 100644 index 00000000..611c26a0 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/createdump.exe differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/dbgshim.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/dbgshim.dll new file mode 100644 index 00000000..4016fd8f Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/dbgshim.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h new file mode 100644 index 00000000..e062193c --- /dev/null +++ b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/hostfxr.h @@ -0,0 +1,288 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#ifndef __HOSTFXR_H__ +#define __HOSTFXR_H__ + +#include +#include + +#if defined(_WIN32) + #define HOSTFXR_CALLTYPE __cdecl + #ifdef _WCHAR_T_DEFINED + typedef wchar_t char_t; + #else + typedef unsigned short char_t; + #endif +#else + #define HOSTFXR_CALLTYPE + typedef char char_t; +#endif + +enum hostfxr_delegate_type +{ + hdt_com_activation, + hdt_load_in_memory_assembly, + hdt_winrt_activation, + hdt_com_register, + hdt_com_unregister, + hdt_load_assembly_and_get_function_pointer, + hdt_get_function_pointer, +}; + +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_fn)(const int argc, const char_t **argv); +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_startupinfo_fn)( + const int argc, + const char_t **argv, + const char_t *host_path, + const char_t *dotnet_root, + const char_t *app_path); +typedef int32_t(HOSTFXR_CALLTYPE* hostfxr_main_bundle_startupinfo_fn)( + const int argc, + const char_t** argv, + const char_t* host_path, + const char_t* dotnet_root, + const char_t* app_path, + int64_t bundle_header_offset); + +typedef void(HOSTFXR_CALLTYPE *hostfxr_error_writer_fn)(const char_t *message); + +// +// Sets a callback which is to be used to write errors to. +// +// Parameters: +// error_writer +// A callback function which will be invoked every time an error is to be reported. +// Or nullptr to unregister previously registered callback and return to the default behavior. +// Return value: +// The previously registered callback (which is now unregistered), or nullptr if no previous callback +// was registered +// +// The error writer is registered per-thread, so the registration is thread-local. On each thread +// only one callback can be registered. Subsequent registrations overwrite the previous ones. +// +// By default no callback is registered in which case the errors are written to stderr. +// +// Each call to the error writer is sort of like writing a single line (the EOL character is omitted). +// Multiple calls to the error writer may occure for one failure. +// +// If the hostfxr invokes functions in hostpolicy as part of its operation, the error writer +// will be propagated to hostpolicy for the duration of the call. This means that errors from +// both hostfxr and hostpolicy will be reporter through the same error writer. +// +typedef hostfxr_error_writer_fn(HOSTFXR_CALLTYPE *hostfxr_set_error_writer_fn)(hostfxr_error_writer_fn error_writer); + +typedef void* hostfxr_handle; +struct hostfxr_initialize_parameters +{ + size_t size; + const char_t *host_path; + const char_t *dotnet_root; +}; + +// +// Initializes the hosting components for a dotnet command line running an application +// +// Parameters: +// argc +// Number of argv arguments +// argv +// Command-line arguments for running an application (as if through the dotnet executable). +// parameters +// Optional. Additional parameters for initialization +// host_context_handle +// On success, this will be populated with an opaque value representing the initialized host context +// +// Return value: +// Success - Hosting components were successfully initialized +// HostInvalidState - Hosting components are already initialized +// +// This function parses the specified command-line arguments to determine the application to run. It will +// then find the corresponding .runtimeconfig.json and .deps.json with which to resolve frameworks and +// dependencies and prepare everything needed to load the runtime. +// +// This function only supports arguments for running an application. It does not support SDK commands. +// +// This function does not load the runtime. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_dotnet_command_line_fn)( + int argc, + const char_t **argv, + const struct hostfxr_initialize_parameters *parameters, + /*out*/ hostfxr_handle *host_context_handle); + +// +// Initializes the hosting components using a .runtimeconfig.json file +// +// Parameters: +// runtime_config_path +// Path to the .runtimeconfig.json file +// parameters +// Optional. Additional parameters for initialization +// host_context_handle +// On success, this will be populated with an opaque value representing the initialized host context +// +// Return value: +// Success - Hosting components were successfully initialized +// Success_HostAlreadyInitialized - Config is compatible with already initialized hosting components +// Success_DifferentRuntimeProperties - Config has runtime properties that differ from already initialized hosting components +// CoreHostIncompatibleConfig - Config is incompatible with already initialized hosting components +// +// This function will process the .runtimeconfig.json to resolve frameworks and prepare everything needed +// to load the runtime. It will only process the .deps.json from frameworks (not any app/component that +// may be next to the .runtimeconfig.json). +// +// This function does not load the runtime. +// +// If called when the runtime has already been loaded, this function will check if the specified runtime +// config is compatible with the existing runtime. +// +// Both Success_HostAlreadyInitialized and Success_DifferentRuntimeProperties codes are considered successful +// initializations. In the case of Success_DifferentRuntimeProperties, it is left to the consumer to verify that +// the difference in properties is acceptable. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_runtime_config_fn)( + const char_t *runtime_config_path, + const struct hostfxr_initialize_parameters *parameters, + /*out*/ hostfxr_handle *host_context_handle); + +// +// Gets the runtime property value for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// name +// Runtime property name +// value +// Out parameter. Pointer to a buffer with the property value. +// +// Return value: +// The error code result. +// +// The buffer pointed to by value is owned by the host context. The lifetime of the buffer is only +// guaranteed until any of the below occur: +// - a 'run' method is called for the host context +// - properties are changed via hostfxr_set_runtime_property_value +// - the host context is closed via 'hostfxr_close' +// +// If host_context_handle is nullptr and an active host context exists, this function will get the +// property value for the active host context. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_property_value_fn)( + const hostfxr_handle host_context_handle, + const char_t *name, + /*out*/ const char_t **value); + +// +// Sets the value of a runtime property for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// name +// Runtime property name +// value +// Value to set +// +// Return value: +// The error code result. +// +// Setting properties is only supported for the first host context, before the runtime has been loaded. +// +// If the property already exists in the host context, it will be overwritten. If value is nullptr, the +// property will be removed. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_set_runtime_property_value_fn)( + const hostfxr_handle host_context_handle, + const char_t *name, + const char_t *value); + +// +// Gets all the runtime properties for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// count +// [in] Size of the keys and values buffers +// [out] Number of properties returned (size of keys/values buffers used). If the input value is too +// small or keys/values is nullptr, this is populated with the number of available properties +// keys +// Array of pointers to buffers with runtime property keys +// values +// Array of pointers to buffers with runtime property values +// +// Return value: +// The error code result. +// +// The buffers pointed to by keys and values are owned by the host context. The lifetime of the buffers is only +// guaranteed until any of the below occur: +// - a 'run' method is called for the host context +// - properties are changed via hostfxr_set_runtime_property_value +// - the host context is closed via 'hostfxr_close' +// +// If host_context_handle is nullptr and an active host context exists, this function will get the +// properties for the active host context. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_properties_fn)( + const hostfxr_handle host_context_handle, + /*inout*/ size_t * count, + /*out*/ const char_t **keys, + /*out*/ const char_t **values); + +// +// Load CoreCLR and run the application for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// +// Return value: +// If the app was successfully run, the exit code of the application. Otherwise, the error code result. +// +// The host_context_handle must have been initialized using hostfxr_initialize_for_dotnet_command_line. +// +// This function will not return until the managed application exits. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_run_app_fn)(const hostfxr_handle host_context_handle); + +// +// Gets a typed delegate from the currently loaded CoreCLR or from a newly created one. +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// type +// Type of runtime delegate requested +// delegate +// An out parameter that will be assigned the delegate. +// +// Return value: +// The error code result. +// +// If the host_context_handle was initialized using hostfxr_initialize_for_runtime_config, +// then all delegate types are supported. +// If the host_context_handle was initialized using hostfxr_initialize_for_dotnet_command_line, +// then only the following delegate types are currently supported: +// hdt_load_assembly_and_get_function_pointer +// hdt_get_function_pointer +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_delegate_fn)( + const hostfxr_handle host_context_handle, + enum hostfxr_delegate_type type, + /*out*/ void **delegate); + +// +// Closes an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// +// Return value: +// The error code result. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_close_fn)(const hostfxr_handle host_context_handle); + +#endif //__HOSTFXR_H__ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/hostpolicy.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/hostpolicy.dll new file mode 100644 index 00000000..05c28f80 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/hostpolicy.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordaccore.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordaccore.dll new file mode 100644 index 00000000..0ce8b875 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordaccore.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordaccore_amd64_amd64_5.0.921.35908.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordaccore_amd64_amd64_5.0.921.35908.dll new file mode 100644 index 00000000..af86a021 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordaccore_amd64_amd64_5.0.921.35908.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordbi.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordbi.dll new file mode 100644 index 00000000..0ed09ed8 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscordbi.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll new file mode 100644 index 00000000..01d1d0fd Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscorlib.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscorrc.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscorrc.dll new file mode 100644 index 00000000..18013b70 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/mscorrc.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll new file mode 100644 index 00000000..f25c0595 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/netstandard.dll differ diff --git a/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/ucrtbase.dll b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/ucrtbase.dll new file mode 100644 index 00000000..b6625752 Binary files /dev/null and b/Plugins/UnrealCLR/Runtime/Win64/shared/Microsoft.NETCore.App/5.0.9/ucrtbase.dll differ diff --git a/Plugins/UnrealCLR/Source/Dependencies/CoreCLR/includes/coreclr_delegates.h b/Plugins/UnrealCLR/Source/Dependencies/CoreCLR/includes/coreclr_delegates.h new file mode 100644 index 00000000..914ab592 --- /dev/null +++ b/Plugins/UnrealCLR/Source/Dependencies/CoreCLR/includes/coreclr_delegates.h @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#ifndef __CORECLR_DELEGATES_H__ +#define __CORECLR_DELEGATES_H__ + +#include + +#if defined(_WIN32) + #define CORECLR_DELEGATE_CALLTYPE __stdcall + #ifdef _WCHAR_T_DEFINED + typedef wchar_t char_t; + #else + typedef unsigned short char_t; + #endif +#else + #define CORECLR_DELEGATE_CALLTYPE + typedef char char_t; +#endif + +#define UNMANAGEDCALLERSONLY_METHOD ((const char_t*)-1) + +// Signature of delegate returned by coreclr_delegate_type::load_assembly_and_get_function_pointer +typedef int (CORECLR_DELEGATE_CALLTYPE *load_assembly_and_get_function_pointer_fn)( + const char_t *assembly_path /* Fully qualified path to assembly */, + const char_t *type_name /* Assembly qualified type name */, + const char_t *method_name /* Public static method name compatible with delegateType */, + const char_t *delegate_type_name /* Assembly qualified delegate type name or null + or UNMANAGEDCALLERSONLY_METHOD if the method is marked with + the UnmanagedCallersOnlyAttribute. */, + void *reserved /* Extensibility parameter (currently unused and must be 0) */, + /*out*/ void **delegate /* Pointer where to store the function pointer result */); + +// Signature of delegate returned by load_assembly_and_get_function_pointer_fn when delegate_type_name == null (default) +typedef int (CORECLR_DELEGATE_CALLTYPE *component_entry_point_fn)(void *arg, int32_t arg_size_in_bytes); + +typedef int (CORECLR_DELEGATE_CALLTYPE *get_function_pointer_fn)( + const char_t *type_name /* Assembly qualified type name */, + const char_t *method_name /* Public static method name compatible with delegateType */, + const char_t *delegate_type_name /* Assembly qualified delegate type name or null, + or UNMANAGEDCALLERSONLY_METHOD if the method is marked with + the UnmanagedCallersOnlyAttribute. */, + void *load_context /* Extensibility parameter (currently unused and must be 0) */, + void *reserved /* Extensibility parameter (currently unused and must be 0) */, + /*out*/ void **delegate /* Pointer where to store the function pointer result */); + +#endif // __CORECLR_DELEGATES_H__ diff --git a/Plugins/UnrealCLR/Source/Dependencies/CoreCLR/includes/hostfxr.h b/Plugins/UnrealCLR/Source/Dependencies/CoreCLR/includes/hostfxr.h new file mode 100644 index 00000000..e062193c --- /dev/null +++ b/Plugins/UnrealCLR/Source/Dependencies/CoreCLR/includes/hostfxr.h @@ -0,0 +1,288 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#ifndef __HOSTFXR_H__ +#define __HOSTFXR_H__ + +#include +#include + +#if defined(_WIN32) + #define HOSTFXR_CALLTYPE __cdecl + #ifdef _WCHAR_T_DEFINED + typedef wchar_t char_t; + #else + typedef unsigned short char_t; + #endif +#else + #define HOSTFXR_CALLTYPE + typedef char char_t; +#endif + +enum hostfxr_delegate_type +{ + hdt_com_activation, + hdt_load_in_memory_assembly, + hdt_winrt_activation, + hdt_com_register, + hdt_com_unregister, + hdt_load_assembly_and_get_function_pointer, + hdt_get_function_pointer, +}; + +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_fn)(const int argc, const char_t **argv); +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_main_startupinfo_fn)( + const int argc, + const char_t **argv, + const char_t *host_path, + const char_t *dotnet_root, + const char_t *app_path); +typedef int32_t(HOSTFXR_CALLTYPE* hostfxr_main_bundle_startupinfo_fn)( + const int argc, + const char_t** argv, + const char_t* host_path, + const char_t* dotnet_root, + const char_t* app_path, + int64_t bundle_header_offset); + +typedef void(HOSTFXR_CALLTYPE *hostfxr_error_writer_fn)(const char_t *message); + +// +// Sets a callback which is to be used to write errors to. +// +// Parameters: +// error_writer +// A callback function which will be invoked every time an error is to be reported. +// Or nullptr to unregister previously registered callback and return to the default behavior. +// Return value: +// The previously registered callback (which is now unregistered), or nullptr if no previous callback +// was registered +// +// The error writer is registered per-thread, so the registration is thread-local. On each thread +// only one callback can be registered. Subsequent registrations overwrite the previous ones. +// +// By default no callback is registered in which case the errors are written to stderr. +// +// Each call to the error writer is sort of like writing a single line (the EOL character is omitted). +// Multiple calls to the error writer may occure for one failure. +// +// If the hostfxr invokes functions in hostpolicy as part of its operation, the error writer +// will be propagated to hostpolicy for the duration of the call. This means that errors from +// both hostfxr and hostpolicy will be reporter through the same error writer. +// +typedef hostfxr_error_writer_fn(HOSTFXR_CALLTYPE *hostfxr_set_error_writer_fn)(hostfxr_error_writer_fn error_writer); + +typedef void* hostfxr_handle; +struct hostfxr_initialize_parameters +{ + size_t size; + const char_t *host_path; + const char_t *dotnet_root; +}; + +// +// Initializes the hosting components for a dotnet command line running an application +// +// Parameters: +// argc +// Number of argv arguments +// argv +// Command-line arguments for running an application (as if through the dotnet executable). +// parameters +// Optional. Additional parameters for initialization +// host_context_handle +// On success, this will be populated with an opaque value representing the initialized host context +// +// Return value: +// Success - Hosting components were successfully initialized +// HostInvalidState - Hosting components are already initialized +// +// This function parses the specified command-line arguments to determine the application to run. It will +// then find the corresponding .runtimeconfig.json and .deps.json with which to resolve frameworks and +// dependencies and prepare everything needed to load the runtime. +// +// This function only supports arguments for running an application. It does not support SDK commands. +// +// This function does not load the runtime. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_dotnet_command_line_fn)( + int argc, + const char_t **argv, + const struct hostfxr_initialize_parameters *parameters, + /*out*/ hostfxr_handle *host_context_handle); + +// +// Initializes the hosting components using a .runtimeconfig.json file +// +// Parameters: +// runtime_config_path +// Path to the .runtimeconfig.json file +// parameters +// Optional. Additional parameters for initialization +// host_context_handle +// On success, this will be populated with an opaque value representing the initialized host context +// +// Return value: +// Success - Hosting components were successfully initialized +// Success_HostAlreadyInitialized - Config is compatible with already initialized hosting components +// Success_DifferentRuntimeProperties - Config has runtime properties that differ from already initialized hosting components +// CoreHostIncompatibleConfig - Config is incompatible with already initialized hosting components +// +// This function will process the .runtimeconfig.json to resolve frameworks and prepare everything needed +// to load the runtime. It will only process the .deps.json from frameworks (not any app/component that +// may be next to the .runtimeconfig.json). +// +// This function does not load the runtime. +// +// If called when the runtime has already been loaded, this function will check if the specified runtime +// config is compatible with the existing runtime. +// +// Both Success_HostAlreadyInitialized and Success_DifferentRuntimeProperties codes are considered successful +// initializations. In the case of Success_DifferentRuntimeProperties, it is left to the consumer to verify that +// the difference in properties is acceptable. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_initialize_for_runtime_config_fn)( + const char_t *runtime_config_path, + const struct hostfxr_initialize_parameters *parameters, + /*out*/ hostfxr_handle *host_context_handle); + +// +// Gets the runtime property value for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// name +// Runtime property name +// value +// Out parameter. Pointer to a buffer with the property value. +// +// Return value: +// The error code result. +// +// The buffer pointed to by value is owned by the host context. The lifetime of the buffer is only +// guaranteed until any of the below occur: +// - a 'run' method is called for the host context +// - properties are changed via hostfxr_set_runtime_property_value +// - the host context is closed via 'hostfxr_close' +// +// If host_context_handle is nullptr and an active host context exists, this function will get the +// property value for the active host context. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_property_value_fn)( + const hostfxr_handle host_context_handle, + const char_t *name, + /*out*/ const char_t **value); + +// +// Sets the value of a runtime property for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// name +// Runtime property name +// value +// Value to set +// +// Return value: +// The error code result. +// +// Setting properties is only supported for the first host context, before the runtime has been loaded. +// +// If the property already exists in the host context, it will be overwritten. If value is nullptr, the +// property will be removed. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_set_runtime_property_value_fn)( + const hostfxr_handle host_context_handle, + const char_t *name, + const char_t *value); + +// +// Gets all the runtime properties for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// count +// [in] Size of the keys and values buffers +// [out] Number of properties returned (size of keys/values buffers used). If the input value is too +// small or keys/values is nullptr, this is populated with the number of available properties +// keys +// Array of pointers to buffers with runtime property keys +// values +// Array of pointers to buffers with runtime property values +// +// Return value: +// The error code result. +// +// The buffers pointed to by keys and values are owned by the host context. The lifetime of the buffers is only +// guaranteed until any of the below occur: +// - a 'run' method is called for the host context +// - properties are changed via hostfxr_set_runtime_property_value +// - the host context is closed via 'hostfxr_close' +// +// If host_context_handle is nullptr and an active host context exists, this function will get the +// properties for the active host context. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_properties_fn)( + const hostfxr_handle host_context_handle, + /*inout*/ size_t * count, + /*out*/ const char_t **keys, + /*out*/ const char_t **values); + +// +// Load CoreCLR and run the application for an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// +// Return value: +// If the app was successfully run, the exit code of the application. Otherwise, the error code result. +// +// The host_context_handle must have been initialized using hostfxr_initialize_for_dotnet_command_line. +// +// This function will not return until the managed application exits. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_run_app_fn)(const hostfxr_handle host_context_handle); + +// +// Gets a typed delegate from the currently loaded CoreCLR or from a newly created one. +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// type +// Type of runtime delegate requested +// delegate +// An out parameter that will be assigned the delegate. +// +// Return value: +// The error code result. +// +// If the host_context_handle was initialized using hostfxr_initialize_for_runtime_config, +// then all delegate types are supported. +// If the host_context_handle was initialized using hostfxr_initialize_for_dotnet_command_line, +// then only the following delegate types are currently supported: +// hdt_load_assembly_and_get_function_pointer +// hdt_get_function_pointer +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_get_runtime_delegate_fn)( + const hostfxr_handle host_context_handle, + enum hostfxr_delegate_type type, + /*out*/ void **delegate); + +// +// Closes an initialized host context +// +// Parameters: +// host_context_handle +// Handle to the initialized host context +// +// Return value: +// The error code result. +// +typedef int32_t(HOSTFXR_CALLTYPE *hostfxr_close_fn)(const hostfxr_handle host_context_handle); + +#endif //__HOSTFXR_H__ diff --git a/Plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLR.cpp b/Plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLR.cpp new file mode 100644 index 00000000..d451ba5e --- /dev/null +++ b/Plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLR.cpp @@ -0,0 +1,1512 @@ +/* + * Unreal Engine .NET 5 integration + * Copyright (c) 2021 Stanislav Denisov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "UnrealCLR.h" + +#define LOCTEXT_NAMESPACE "UnrealCLR" + +DEFINE_LOG_CATEGORY(LogUnrealCLR); + +void UnrealCLR::Module::StartupModule() { + #define HOSTFXR_VERSION "5.0.9" + #define HOSTFXR_WINDOWS "/hostfxr.dll" + #define HOSTFXR_MAC "/libhostfxr.dylib" + #define HOSTFXR_LINUX "/libhostfxr.so" + + #ifdef UNREALCLR_WINDOWS + #define HOSTFXR_PATH "Plugins/UnrealCLR/Runtime/Win64/host/fxr/" HOSTFXR_VERSION HOSTFXR_WINDOWS + #define UNREALCLR_PLATFORM_STRING(string) string + #elif defined(UNREALCLR_MAC) + #define HOSTFXR_PATH "Plugins/UnrealCLR/Runtime/Mac/host/fxr/" HOSTFXR_VERSION HOSTFXR_MAC + #define UNREALCLR_PLATFORM_STRING(string) TCHAR_TO_ANSI(string) + #elif defined(UNREALCLR_UNIX) + #define HOSTFXR_PATH "Plugins/UnrealCLR/Runtime/Linux/host/fxr/" HOSTFXR_VERSION HOSTFXR_LINUX + #define UNREALCLR_PLATFORM_STRING(string) TCHAR_TO_ANSI(string) + #else + #error "Unknown platform" + #endif + + UnrealCLR::Status = UnrealCLR::StatusType::Stopped; + UnrealCLR::ProjectPath = FPaths::ConvertRelativePathToFull(FPaths::ProjectDir()); + UnrealCLR::UserAssembliesPath = UnrealCLR::ProjectPath + TEXT("Managed/"); + + OnWorldPostInitializationHandle = FWorldDelegates::OnPostWorldInitialization.AddRaw(this, &UnrealCLR::Module::OnWorldPostInitialization); + OnWorldCleanupHandle = FWorldDelegates::OnWorldCleanup.AddRaw(this, &UnrealCLR::Module::OnWorldCleanup); + + const FString hostfxrPath = UnrealCLR::ProjectPath + TEXT(HOSTFXR_PATH); + const FString assembliesPath = UnrealCLR::ProjectPath + TEXT("Plugins/UnrealCLR/Managed/"); + const FString runtimeConfigPath = assembliesPath + TEXT("UnrealEngine.Runtime.runtimeconfig.json"); + const FString runtimeAssemblyPath = assembliesPath + TEXT("UnrealEngine.Runtime.dll"); + const FString runtimeTypeName = TEXT("UnrealEngine.Runtime.Core, UnrealEngine.Runtime"); + const FString runtimeMethodName = TEXT("ManagedCommand"); + + UE_LOG(LogUnrealCLR, Display, TEXT("%s: Host path set to \"%s\""), ANSI_TO_TCHAR(__FUNCTION__), *hostfxrPath); + + HostfxrLibrary = FPlatformProcess::GetDllHandle(*hostfxrPath); + + if (HostfxrLibrary) { + UE_LOG(LogUnrealCLR, Display, TEXT("%s: Host library loaded successfuly!"), ANSI_TO_TCHAR(__FUNCTION__)); + + hostfxr_set_error_writer_fn HostfxrSetErrorWriter = (hostfxr_set_error_writer_fn)FPlatformProcess::GetDllExport(HostfxrLibrary, TEXT("hostfxr_set_error_writer")); + + if (!HostfxrSetErrorWriter) { + UE_LOG(LogUnrealCLR, Error, TEXT("%s: Unable to locate hostfxr_set_error_writer entry point!"), ANSI_TO_TCHAR(__FUNCTION__)); + + return; + } + + hostfxr_initialize_for_runtime_config_fn HostfxrInitializeForRuntimeConfig = (hostfxr_initialize_for_runtime_config_fn)FPlatformProcess::GetDllExport(HostfxrLibrary, TEXT("hostfxr_initialize_for_runtime_config")); + + if (!HostfxrInitializeForRuntimeConfig) { + UE_LOG(LogUnrealCLR, Error, TEXT("%s: Unable to locate hostfxr_initialize_for_runtime_config entry point!"), ANSI_TO_TCHAR(__FUNCTION__)); + + return; + } + + hostfxr_get_runtime_delegate_fn HostfxrGetRuntimeDelegate = (hostfxr_get_runtime_delegate_fn)FPlatformProcess::GetDllExport(HostfxrLibrary, TEXT("hostfxr_get_runtime_delegate")); + + if (!HostfxrGetRuntimeDelegate) { + UE_LOG(LogUnrealCLR, Error, TEXT("%s: Unable to locate hostfxr_get_runtime_delegate entry point!"), ANSI_TO_TCHAR(__FUNCTION__)); + + return; + } + + hostfxr_close_fn HostfxrClose = (hostfxr_close_fn)FPlatformProcess::GetDllExport(HostfxrLibrary, TEXT("hostfxr_close")); + + if (!HostfxrClose) { + UE_LOG(LogUnrealCLR, Error, TEXT("%s: Unable to locate hostfxr_close entry point!"), ANSI_TO_TCHAR(__FUNCTION__)); + + return; + } + + HostfxrSetErrorWriter(HostError); + + hostfxr_handle HostfxrContext = nullptr; + + if (HostfxrInitializeForRuntimeConfig(UNREALCLR_PLATFORM_STRING(*runtimeConfigPath), nullptr, &HostfxrContext) != 0 || !HostfxrContext) { + UE_LOG(LogUnrealCLR, Error, TEXT("%s: Unable to initialize the host! Please, try to restart the engine."), ANSI_TO_TCHAR(__FUNCTION__)); + + HostfxrClose(HostfxrContext); + + return; + } + + void* hostfxrLoadAssemblyAndGetFunctionPointer = nullptr; + + if (HostfxrGetRuntimeDelegate(HostfxrContext, hdt_load_assembly_and_get_function_pointer, &hostfxrLoadAssemblyAndGetFunctionPointer) != 0 || !HostfxrGetRuntimeDelegate) { + UE_LOG(LogUnrealCLR, Error, TEXT("%s: Unable to get hdt_load_assembly_and_get_function_pointer runtime delegate!"), ANSI_TO_TCHAR(__FUNCTION__)); + + HostfxrClose(HostfxrContext); + + return; + } + + HostfxrClose(HostfxrContext); + + UE_LOG(LogUnrealCLR, Display, TEXT("%s: Host functions loaded successfuly!"), ANSI_TO_TCHAR(__FUNCTION__)); + + load_assembly_and_get_function_pointer_fn HostfxrLoadAssemblyAndGetFunctionPointer = (load_assembly_and_get_function_pointer_fn)hostfxrLoadAssemblyAndGetFunctionPointer; + + if (HostfxrLoadAssemblyAndGetFunctionPointer && HostfxrLoadAssemblyAndGetFunctionPointer(UNREALCLR_PLATFORM_STRING(*runtimeAssemblyPath), UNREALCLR_PLATFORM_STRING(*runtimeTypeName), UNREALCLR_PLATFORM_STRING(*runtimeMethodName), UNMANAGEDCALLERSONLY_METHOD, nullptr, (void**)&UnrealCLR::ManagedCommand) == 0) { + UE_LOG(LogUnrealCLR, Display, TEXT("%s: Host runtime assembly loaded succesfuly!"), ANSI_TO_TCHAR(__FUNCTION__)); + } else { + UE_LOG(LogUnrealCLR, Error, TEXT("%s: Host runtime assembly loading failed!"), ANSI_TO_TCHAR(__FUNCTION__)); + + return; + } + + #if WITH_EDITOR + IPlatformFile& platformFile = FPlatformFileManager::Get().GetPlatformFile(); + + if (!platformFile.DirectoryExists(*UnrealCLR::UserAssembliesPath)) { + platformFile.CreateDirectory(*UnrealCLR::UserAssembliesPath); + + if (!platformFile.DirectoryExists(*UnrealCLR::UserAssembliesPath)) + UE_LOG(LogUnrealCLR, Warning, TEXT("%s: Unable to create a folder for managed assemblies at %s."), ANSI_TO_TCHAR(__FUNCTION__), *UnrealCLR::UserAssembliesPath); + } + #endif + + if (UnrealCLR::ManagedCommand) { + // Framework pointers + + int32 position = 0; + int32 checksum = 0; + + { + int32 head = 0; + Shared::Functions[position++] = Shared::AssertFunctions; + + Shared::AssertFunctions[head++] = (void*)&UnrealCLRFramework::Assert::OutputMessage; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::CommandLineFunctions; + + Shared::CommandLineFunctions[head++] = (void*)&UnrealCLRFramework::CommandLine::Get; + Shared::CommandLineFunctions[head++] = (void*)&UnrealCLRFramework::CommandLine::Set; + Shared::CommandLineFunctions[head++] = (void*)&UnrealCLRFramework::CommandLine::Append; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::DebugFunctions; + + Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::Log; + Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::Exception; + Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::AddOnScreenMessage; + Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::ClearOnScreenMessages; + Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawBox; + Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawCapsule; + Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawCone; + Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawCylinder; + Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawSphere; + Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawLine; + Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::DrawPoint; + Shared::DebugFunctions[head++] = (void*)&UnrealCLRFramework::Debug::FlushPersistentLines; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::ObjectFunctions; + + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::IsPendingKill; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::IsValid; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::Load; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::Rename; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::Invoke; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::ToActor; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::ToComponent; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetID; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetName; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetBool; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetByte; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetShort; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetInt; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetLong; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetUShort; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetUInt; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetULong; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetFloat; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetDouble; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetEnum; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetString; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::GetText; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetBool; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetByte; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetShort; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetInt; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetLong; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetUShort; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetUInt; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetULong; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetFloat; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetDouble; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetEnum; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetString; + Shared::ObjectFunctions[head++] = (void*)&UnrealCLRFramework::Object::SetText; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::ApplicationFunctions; + + Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::IsCanEverRender; + Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::IsPackagedForDistribution; + Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::IsPackagedForShipping; + Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::GetProjectDirectory; + Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::GetDefaultLanguage; + Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::GetProjectName; + Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::GetVolumeMultiplier; + Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::SetProjectName; + Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::SetVolumeMultiplier; + Shared::ApplicationFunctions[head++] = (void*)&UnrealCLRFramework::Application::RequestExit; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::ConsoleManagerFunctions; + + Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::IsRegisteredVariable; + Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::FindVariable; + Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::RegisterVariableBool; + Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::RegisterVariableInt; + Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::RegisterVariableFloat; + Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::RegisterVariableString; + Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::RegisterCommand; + Shared::ConsoleManagerFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleManager::UnregisterObject; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::EngineFunctions; + + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::IsSplitScreen; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::IsEditor; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::IsForegroundWindow; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::IsExitRequested; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetNetMode; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetFrameNumber; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetViewportSize; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetScreenResolution; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetWindowMode; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetVersion; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::GetMaxFPS; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::SetMaxFPS; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::SetTitle; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::AddActionMapping; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::AddAxisMapping; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::ForceGarbageCollection; + Shared::EngineFunctions[head++] = (void*)&UnrealCLRFramework::Engine::DelayGarbageCollection; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::HeadMountedDisplayFunctions; + + Shared::HeadMountedDisplayFunctions[head++] = (void*)&UnrealCLRFramework::HeadMountedDisplay::IsConnected; + Shared::HeadMountedDisplayFunctions[head++] = (void*)&UnrealCLRFramework::HeadMountedDisplay::GetEnabled; + Shared::HeadMountedDisplayFunctions[head++] = (void*)&UnrealCLRFramework::HeadMountedDisplay::GetLowPersistenceMode; + Shared::HeadMountedDisplayFunctions[head++] = (void*)&UnrealCLRFramework::HeadMountedDisplay::GetDeviceName; + Shared::HeadMountedDisplayFunctions[head++] = (void*)&UnrealCLRFramework::HeadMountedDisplay::SetEnable; + Shared::HeadMountedDisplayFunctions[head++] = (void*)&UnrealCLRFramework::HeadMountedDisplay::SetLowPersistenceMode; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::WorldFunctions; + + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::ForEachActor; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetActorCount; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetDeltaSeconds; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetRealTimeSeconds; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetTimeSeconds; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetCurrentLevelName; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetSimulatePhysics; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetWorldOrigin; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetActor; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetActorByTag; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetActorByID; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetFirstPlayerController; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::GetGameMode; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorBeginOverlapCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorBeginCursorOverCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorEndCursorOverCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorClickedCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorReleasedCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorEndOverlapCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnActorHitCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentBeginOverlapCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentEndOverlapCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentHitCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentBeginCursorOverCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentEndCursorOverCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentClickedCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetOnComponentReleasedCallback; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetSimulatePhysics; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetGravity; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SetWorldOrigin; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::OpenLevel; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::LineTraceTestByChannel; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::LineTraceTestByProfile; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::LineTraceSingleByChannel; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::LineTraceSingleByProfile; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SweepTestByChannel; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SweepTestByProfile; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SweepSingleByChannel; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::SweepSingleByProfile; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::OverlapAnyTestByChannel; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::OverlapAnyTestByProfile; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::OverlapBlockingTestByChannel; + Shared::WorldFunctions[head++] = (void*)&UnrealCLRFramework::World::OverlapBlockingTestByProfile; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::AssetFunctions; + + Shared::AssetFunctions[head++] = (void*)&UnrealCLRFramework::Asset::IsValid; + Shared::AssetFunctions[head++] = (void*)&UnrealCLRFramework::Asset::GetName; + Shared::AssetFunctions[head++] = (void*)&UnrealCLRFramework::Asset::GetPath; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::AssetRegistryFunctions; + + Shared::AssetRegistryFunctions[head++] = (void*)&UnrealCLRFramework::AssetRegistry::Get; + Shared::AssetRegistryFunctions[head++] = (void*)&UnrealCLRFramework::AssetRegistry::HasAssets; + Shared::AssetRegistryFunctions[head++] = (void*)&UnrealCLRFramework::AssetRegistry::ForEachAsset; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::BlueprintFunctions; + + Shared::BlueprintFunctions[head++] = (void*)&UnrealCLRFramework::Blueprint::IsValidActorClass; + Shared::BlueprintFunctions[head++] = (void*)&UnrealCLRFramework::Blueprint::IsValidComponentClass; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::ConsoleObjectFunctions; + + Shared::ConsoleObjectFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleObject::IsBool; + Shared::ConsoleObjectFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleObject::IsInt; + Shared::ConsoleObjectFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleObject::IsFloat; + Shared::ConsoleObjectFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleObject::IsString; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::ConsoleVariableFunctions; + + Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::GetBool; + Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::GetInt; + Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::GetFloat; + Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::GetString; + Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::SetBool; + Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::SetInt; + Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::SetFloat; + Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::SetString; + Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::SetOnChangedCallback; + Shared::ConsoleVariableFunctions[head++] = (void*)&UnrealCLRFramework::ConsoleVariable::ClearOnChangedCallback; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::ActorFunctions; + + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::IsPendingKill; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::IsRootComponentMovable; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::IsOverlappingActor; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::ForEachComponent; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::ForEachAttachedActor; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::ForEachChildActor; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::ForEachOverlappingActor; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::Spawn; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::Destroy; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::Rename; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::Hide; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::TeleportTo; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetComponent; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetComponentByTag; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetComponentByID; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetRootComponent; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetInputComponent; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetCreationTime; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetBlockInput; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetDistanceTo; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetHorizontalDistanceTo; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetBounds; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::GetEyesViewPoint; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::SetRootComponent; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::SetInputComponent; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::SetBlockInput; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::SetLifeSpan; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::SetEnableInput; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::SetEnableCollision; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::AddTag; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::RemoveTag; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::HasTag; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::RegisterEvent; + Shared::ActorFunctions[head++] = (void*)&UnrealCLRFramework::Actor::UnregisterEvent; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::GameModeBaseFunctions; + + Shared::GameModeBaseFunctions[head++] = (void*)&UnrealCLRFramework::GameModeBase::GetUseSeamlessTravel; + Shared::GameModeBaseFunctions[head++] = (void*)&UnrealCLRFramework::GameModeBase::SetUseSeamlessTravel; + Shared::GameModeBaseFunctions[head++] = (void*)&UnrealCLRFramework::GameModeBase::SwapPlayerControllers; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::PawnFunctions; + + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::IsControlled; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::IsPlayerControlled; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetAutoPossessAI; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetAutoPossessPlayer; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetUseControllerRotationYaw; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetUseControllerRotationPitch; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetUseControllerRotationRoll; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetGravityDirection; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetAIController; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::GetPlayerController; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::SetAutoPossessAI; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::SetAutoPossessPlayer; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::SetUseControllerRotationYaw; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::SetUseControllerRotationPitch; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::SetUseControllerRotationRoll; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::AddControllerYawInput; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::AddControllerPitchInput; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::AddControllerRollInput; + Shared::PawnFunctions[head++] = (void*)&UnrealCLRFramework::Pawn::AddMovementInput; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::CharacterFunctions; + + Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::IsCrouched; + Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::CanCrouch; + Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::CanJump; + Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::CheckJumpInput; + Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::ClearJumpInput; + Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::Launch; + Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::Crouch; + Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::StopCrouching; + Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::Jump; + Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::StopJumping; + Shared::CharacterFunctions[head++] = (void*)&UnrealCLRFramework::Character::SetOnLandedCallback; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::ControllerFunctions; + + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::IsLookInputIgnored; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::IsMoveInputIgnored; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::IsPlayerController; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::GetPawn; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::GetCharacter; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::GetViewTarget; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::GetControlRotation; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::GetDesiredRotation; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::LineOfSightTo; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::SetControlRotation; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::SetInitialLocationAndRotation; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::SetIgnoreLookInput; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::SetIgnoreMoveInput; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::ResetIgnoreLookInput; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::ResetIgnoreMoveInput; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::Possess; + Shared::ControllerFunctions[head++] = (void*)&UnrealCLRFramework::Controller::Unpossess; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::AIControllerFunctions; + + Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::ClearFocus; + Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::GetFocalPoint; + Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::SetFocalPoint; + Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::GetFocusActor; + Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::GetAllowStrafe; + Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::SetAllowStrafe; + Shared::AIControllerFunctions[head++] = (void*)&UnrealCLRFramework::AIController::SetFocus; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::PlayerControllerFunctions; + + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::IsPaused; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetShowMouseCursor; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetEnableClickEvents; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetEnableMouseOverEvents; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetMousePosition; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetPlayer; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetPlayerInput; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetHitResultAtScreenPosition; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::GetHitResultUnderCursor; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetShowMouseCursor; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetEnableClickEvents; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetEnableMouseOverEvents; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetMousePosition; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::ConsoleCommand; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetPause; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetViewTarget; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::SetViewTargetWithBlend; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::AddYawInput; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::AddPitchInput; + Shared::PlayerControllerFunctions[head++] = (void*)&UnrealCLRFramework::PlayerController::AddRollInput; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::VolumeFunctions; + + Shared::VolumeFunctions[head++] = (void*)&UnrealCLRFramework::Volume::EncompassesPoint; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::PostProcessVolumeFunctions; + + Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::GetEnabled; + Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::GetBlendRadius; + Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::GetBlendWeight; + Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::GetUnbound; + Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::GetPriority; + Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::SetEnabled; + Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::SetBlendRadius; + Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::SetBlendWeight; + Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::SetUnbound; + Shared::PostProcessVolumeFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessVolume::SetPriority; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::SoundBaseFunctions; + + Shared::SoundBaseFunctions[head++] = (void*)&UnrealCLRFramework::SoundBase::GetDuration; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::SoundWaveFunctions; + + Shared::SoundWaveFunctions[head++] = (void*)&UnrealCLRFramework::SoundWave::GetLoop; + Shared::SoundWaveFunctions[head++] = (void*)&UnrealCLRFramework::SoundWave::SetLoop; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::AnimationInstanceFunctions; + + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::GetCurrentActiveMontage; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::IsPlaying; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::GetPlayRate; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::GetPosition; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::GetBlendTime; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::GetCurrentSection; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::SetPlayRate; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::SetPosition; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::SetNextSection; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::PlayMontage; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::PauseMontage; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::ResumeMontage; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::StopMontage; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::JumpToSection; + Shared::AnimationInstanceFunctions[head++] = (void*)&UnrealCLRFramework::AnimationInstance::JumpToSectionsEnd; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::PlayerFunctions; + + Shared::PlayerFunctions[head++] = (void*)&UnrealCLRFramework::Player::GetPlayerController; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::PlayerInputFunctions; + + Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::IsKeyPressed; + Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::GetTimeKeyPressed; + Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::GetMouseSensitivity; + Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::SetMouseSensitivity; + Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::AddActionMapping; + Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::AddAxisMapping; + Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::RemoveActionMapping; + Shared::PlayerInputFunctions[head++] = (void*)&UnrealCLRFramework::PlayerInput::RemoveAxisMapping; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::FontFunctions; + + Shared::FontFunctions[head++] = (void*)&UnrealCLRFramework::Font::GetStringSize; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::Texture2DFunctions; + + Shared::Texture2DFunctions[head++] = (void*)&UnrealCLRFramework::Texture2D::CreateFromFile; + Shared::Texture2DFunctions[head++] = (void*)&UnrealCLRFramework::Texture2D::CreateFromBuffer; + Shared::Texture2DFunctions[head++] = (void*)&UnrealCLRFramework::Texture2D::HasAlphaChannel; + Shared::Texture2DFunctions[head++] = (void*)&UnrealCLRFramework::Texture2D::GetSize; + Shared::Texture2DFunctions[head++] = (void*)&UnrealCLRFramework::Texture2D::GetPixelFormat; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::ActorComponentFunctions; + + Shared::ActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ActorComponent::IsOwnerSelected; + Shared::ActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ActorComponent::GetOwner; + Shared::ActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ActorComponent::Destroy; + Shared::ActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ActorComponent::AddTag; + Shared::ActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ActorComponent::RemoveTag; + Shared::ActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ActorComponent::HasTag; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::InputComponentFunctions; + + Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::HasBindings; + Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::GetActionBindingsNumber; + Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::ClearActionBindings; + Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::BindAction; + Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::BindAxis; + Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::RemoveActionBinding; + Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::GetBlockInput; + Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::SetBlockInput; + Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::GetPriority; + Shared::InputComponentFunctions[head++] = (void*)&UnrealCLRFramework::InputComponent::SetPriority; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::SceneComponentFunctions; + + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::IsAttachedToComponent; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::IsAttachedToActor; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::IsVisible; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::IsSocketExists; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::HasAnySockets; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::CanAttachAsChild; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::ForEachAttachedChild; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::Create; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AttachToComponent; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::DetachFromComponent; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::Activate; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::Deactivate; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::UpdateToWorld; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddLocalOffset; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddLocalRotation; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddRelativeLocation; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddRelativeRotation; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddLocalTransform; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddWorldOffset; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddWorldRotation; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::AddWorldTransform; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetAttachedSocketName; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetBounds; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetSocketLocation; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetSocketRotation; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetComponentVelocity; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetComponentLocation; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetComponentRotation; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetComponentScale; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetComponentTransform; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetForwardVector; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetRightVector; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::GetUpVector; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetMobility; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetVisibility; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetRelativeLocation; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetRelativeRotation; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetRelativeTransform; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetWorldLocation; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetWorldRotation; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetWorldScale; + Shared::SceneComponentFunctions[head++] = (void*)&UnrealCLRFramework::SceneComponent::SetWorldTransform; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::AudioComponentFunctions; + + Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::IsPlaying; + Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::GetPaused; + Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::SetSound; + Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::SetPaused; + Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::Play; + Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::Stop; + Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::FadeIn; + Shared::AudioComponentFunctions[head++] = (void*)&UnrealCLRFramework::AudioComponent::FadeOut; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::CameraComponentFunctions; + + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetConstrainAspectRatio; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetAspectRatio; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetFieldOfView; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetOrthoFarClipPlane; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetOrthoNearClipPlane; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetOrthoWidth; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::GetLockToHeadMountedDisplay; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetProjectionMode; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetConstrainAspectRatio; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetAspectRatio; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetFieldOfView; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetOrthoFarClipPlane; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetOrthoNearClipPlane; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetOrthoWidth; + Shared::CameraComponentFunctions[head++] = (void*)&UnrealCLRFramework::CameraComponent::SetLockToHeadMountedDisplay; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::ChildActorComponentFunctions; + + Shared::ChildActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ChildActorComponent::GetChildActor; + Shared::ChildActorComponentFunctions[head++] = (void*)&UnrealCLRFramework::ChildActorComponent::SetChildActor; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::SpringArmComponentFunctions; + + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::IsCollisionFixApplied; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetDrawDebugLagMarkers; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCollisionTest; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraPositionLag; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraRotationLag; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraLagSubstepping; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetInheritPitch; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetInheritRoll; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetInheritYaw; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraLagMaxDistance; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraLagMaxTimeStep; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraPositionLagSpeed; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetCameraRotationLagSpeed; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetProbeChannel; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetProbeSize; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetSocketOffset; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetTargetArmLength; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetTargetOffset; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetUnfixedCameraPosition; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetDesiredRotation; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetTargetRotation; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::GetUsePawnControlRotation; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetDrawDebugLagMarkers; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCollisionTest; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraPositionLag; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraRotationLag; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraLagSubstepping; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetInheritPitch; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetInheritRoll; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetInheritYaw; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraLagMaxDistance; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraLagMaxTimeStep; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraPositionLagSpeed; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetCameraRotationLagSpeed; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetProbeChannel; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetProbeSize; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetSocketOffset; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetTargetArmLength; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetTargetOffset; + Shared::SpringArmComponentFunctions[head++] = (void*)&UnrealCLRFramework::SpringArmComponent::SetUsePawnControlRotation; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::PostProcessComponentFunctions; + + Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::GetEnabled; + Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::GetBlendRadius; + Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::GetBlendWeight; + Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::GetUnbound; + Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::GetPriority; + Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::SetEnabled; + Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::SetBlendRadius; + Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::SetBlendWeight; + Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::SetUnbound; + Shared::PostProcessComponentFunctions[head++] = (void*)&UnrealCLRFramework::PostProcessComponent::SetPriority; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::PrimitiveComponentFunctions; + + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::IsGravityEnabled; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::IsOverlappingComponent; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::ForEachOverlappingComponent; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddAngularImpulseInDegrees; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddAngularImpulseInRadians; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddForce; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddForceAtLocation; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddImpulse; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddImpulseAtLocation; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddRadialForce; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddRadialImpulse; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddTorqueInDegrees; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::AddTorqueInRadians; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetMass; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetPhysicsLinearVelocity; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetPhysicsLinearVelocityAtPoint; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetPhysicsAngularVelocityInDegrees; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetPhysicsAngularVelocityInRadians; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetCastShadow; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetOnlyOwnerSee; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetOwnerNoSee; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetIgnoreRadialForce; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetIgnoreRadialImpulse; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetMaterial; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetMaterialsNumber; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetDistanceToCollision; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetSquaredDistanceToCollision; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetAngularDamping; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::GetLinearDamping; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetGenerateOverlapEvents; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetGenerateHitEvents; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetMass; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCenterOfMass; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetPhysicsLinearVelocity; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetPhysicsAngularVelocityInDegrees; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetPhysicsAngularVelocityInRadians; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetPhysicsMaxAngularVelocityInDegrees; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetPhysicsMaxAngularVelocityInRadians; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCastShadow; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetOnlyOwnerSee; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetOwnerNoSee; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetIgnoreRadialForce; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetIgnoreRadialImpulse; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetMaterial; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetSimulatePhysics; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetAngularDamping; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetLinearDamping; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetEnableGravity; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCollisionMode; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCollisionChannel; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCollisionProfileName; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCollisionResponseToChannel; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetCollisionResponseToAllChannels; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetIgnoreActorWhenMoving; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::SetIgnoreComponentWhenMoving; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::ClearMoveIgnoreActors; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::ClearMoveIgnoreComponents; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::CreateAndSetMaterialInstanceDynamic; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::RegisterEvent; + Shared::PrimitiveComponentFunctions[head++] = (void*)&UnrealCLRFramework::PrimitiveComponent::UnregisterEvent; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::ShapeComponentFunctions; + + Shared::ShapeComponentFunctions[head++] = (void*)&UnrealCLRFramework::ShapeComponent::GetDynamicObstacle; + Shared::ShapeComponentFunctions[head++] = (void*)&UnrealCLRFramework::ShapeComponent::GetShapeColor; + Shared::ShapeComponentFunctions[head++] = (void*)&UnrealCLRFramework::ShapeComponent::SetDynamicObstacle; + Shared::ShapeComponentFunctions[head++] = (void*)&UnrealCLRFramework::ShapeComponent::SetShapeColor; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::BoxComponentFunctions; + + Shared::BoxComponentFunctions[head++] = (void*)&UnrealCLRFramework::BoxComponent::GetScaledBoxExtent; + Shared::BoxComponentFunctions[head++] = (void*)&UnrealCLRFramework::BoxComponent::GetUnscaledBoxExtent; + Shared::BoxComponentFunctions[head++] = (void*)&UnrealCLRFramework::BoxComponent::SetBoxExtent; + Shared::BoxComponentFunctions[head++] = (void*)&UnrealCLRFramework::BoxComponent::InitBoxExtent; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::SphereComponentFunctions; + + Shared::SphereComponentFunctions[head++] = (void*)&UnrealCLRFramework::SphereComponent::GetScaledSphereRadius; + Shared::SphereComponentFunctions[head++] = (void*)&UnrealCLRFramework::SphereComponent::GetUnscaledSphereRadius; + Shared::SphereComponentFunctions[head++] = (void*)&UnrealCLRFramework::SphereComponent::GetShapeScale; + Shared::SphereComponentFunctions[head++] = (void*)&UnrealCLRFramework::SphereComponent::SetSphereRadius; + Shared::SphereComponentFunctions[head++] = (void*)&UnrealCLRFramework::SphereComponent::InitSphereRadius; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::CapsuleComponentFunctions; + + Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::GetScaledCapsuleRadius; + Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::GetUnscaledCapsuleRadius; + Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::GetShapeScale; + Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::GetScaledCapsuleSize; + Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::GetUnscaledCapsuleSize; + Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::SetCapsuleRadius; + Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::SetCapsuleSize; + Shared::CapsuleComponentFunctions[head++] = (void*)&UnrealCLRFramework::CapsuleComponent::InitCapsuleSize; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::MeshComponentFunctions; + + Shared::MeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::MeshComponent::IsValidMaterialSlotName; + Shared::MeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::MeshComponent::GetMaterialIndex; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::TextRenderComponentFunctions; + + Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetFont; + Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetText; + Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetTextMaterial; + Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetTextRenderColor; + Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetHorizontalAlignment; + Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetHorizontalSpacingAdjustment; + Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetVerticalAlignment; + Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetVerticalSpacingAdjustment; + Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetScale; + Shared::TextRenderComponentFunctions[head++] = (void*)&UnrealCLRFramework::TextRenderComponent::SetWorldSize; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::LightComponentBaseFunctions; + + Shared::LightComponentBaseFunctions[head++] = (void*)&UnrealCLRFramework::LightComponentBase::GetIntensity; + Shared::LightComponentBaseFunctions[head++] = (void*)&UnrealCLRFramework::LightComponentBase::GetCastShadows; + Shared::LightComponentBaseFunctions[head++] = (void*)&UnrealCLRFramework::LightComponentBase::SetCastShadows; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::LightComponentFunctions; + + Shared::LightComponentFunctions[head++] = (void*)&UnrealCLRFramework::LightComponent::SetIntensity; + Shared::LightComponentFunctions[head++] = (void*)&UnrealCLRFramework::LightComponent::SetLightColor; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::MotionControllerComponentFunctions; + + Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::IsTracked; + Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::GetDisplayDeviceModel; + Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::GetDisableLowLatencyUpdate; + Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::GetTrackingSource; + Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetDisplayDeviceModel; + Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetDisableLowLatencyUpdate; + Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetTrackingSource; + Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetTrackingMotionSource; + Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetAssociatedPlayerIndex; + Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetCustomDisplayMesh; + Shared::MotionControllerComponentFunctions[head++] = (void*)&UnrealCLRFramework::MotionControllerComponent::SetDisplayModelSource; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::StaticMeshComponentFunctions; + + Shared::StaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::StaticMeshComponent::GetLocalBounds; + Shared::StaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::StaticMeshComponent::GetStaticMesh; + Shared::StaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::StaticMeshComponent::SetStaticMesh; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::InstancedStaticMeshComponentFunctions; + + Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::GetInstanceCount; + Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::GetInstanceTransform; + Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::AddInstance; + Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::AddInstances; + Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::UpdateInstanceTransform; + Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::BatchUpdateInstanceTransforms; + Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::RemoveInstance; + Shared::InstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::InstancedStaticMeshComponent::ClearInstances; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::HierarchicalInstancedStaticMeshComponentFunctions; + + Shared::HierarchicalInstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::HierarchicalInstancedStaticMeshComponent::GetDisableCollision; + Shared::HierarchicalInstancedStaticMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::HierarchicalInstancedStaticMeshComponent::SetDisableCollision; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::SkinnedMeshComponentFunctions; + + Shared::SkinnedMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkinnedMeshComponent::GetBonesNumber; + Shared::SkinnedMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkinnedMeshComponent::GetBoneIndex; + Shared::SkinnedMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkinnedMeshComponent::GetBoneName; + Shared::SkinnedMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkinnedMeshComponent::GetBoneTransform; + Shared::SkinnedMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkinnedMeshComponent::SetSkeletalMesh; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::SkeletalMeshComponentFunctions; + + Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::IsPlaying; + Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::GetAnimationInstance; + Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::SetAnimation; + Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::SetAnimationMode; + Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::SetAnimationBlueprint; + Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::Play; + Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::PlayAnimation; + Shared::SkeletalMeshComponentFunctions[head++] = (void*)&UnrealCLRFramework::SkeletalMeshComponent::Stop; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::SplineComponentFunctions; + + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::IsClosedLoop; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetDuration; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetSplinePointType; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetSplinePointsNumber; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetSplineSegmentsNumber; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetTangentAtDistanceAlongSpline; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetTangentAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetTangentAtTime; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetTransformAtDistanceAlongSpline; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetTransformAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetArriveTangentAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetDefaultUpVector; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetDirectionAtDistanceAlongSpline; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetDirectionAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetDirectionAtTime; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetDistanceAlongSplineAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetLeaveTangentAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetLocationAndTangentAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetLocationAtDistanceAlongSpline; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetLocationAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetLocationAtTime; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRightVectorAtDistanceAlongSpline; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRightVectorAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRightVectorAtTime; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRollAtDistanceAlongSpline; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRollAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRollAtTime; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRotationAtDistanceAlongSpline; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRotationAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetRotationAtTime; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetScaleAtDistanceAlongSpline; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetScaleAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetScaleAtTime; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetSplineLength; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetTransformAtTime; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetUpVectorAtDistanceAlongSpline; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetUpVectorAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::GetUpVectorAtTime; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetDuration; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetSplinePointType; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetClosedLoop; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetDefaultUpVector; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetLocationAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetTangentAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetTangentsAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::SetUpVectorAtSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::AddSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::AddSplinePointAtIndex; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::ClearSplinePoints; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindDirectionClosestToWorldLocation; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindLocationClosestToWorldLocation; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindUpVectorClosestToWorldLocation; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindRightVectorClosestToWorldLocation; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindRollClosestToWorldLocation; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindScaleClosestToWorldLocation; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindTangentClosestToWorldLocation; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::FindTransformClosestToWorldLocation; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::RemoveSplinePoint; + Shared::SplineComponentFunctions[head++] = (void*)&UnrealCLRFramework::SplineComponent::UpdateSpline; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::RadialForceComponentFunctions; + + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::GetIgnoreOwningActor; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::GetImpulseVelocityChange; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::GetLinearFalloff; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::GetForceStrength; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::GetImpulseStrength; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::GetRadius; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::SetIgnoreOwningActor; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::SetImpulseVelocityChange; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::SetLinearFalloff; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::SetForceStrength; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::SetImpulseStrength; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::SetRadius; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::AddCollisionChannelToAffect; + Shared::RadialForceComponentFunctions[head++] = (void*)&UnrealCLRFramework::RadialForceComponent::FireImpulse; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::MaterialInterfaceFunctions; + + Shared::MaterialInterfaceFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInterface::IsTwoSided; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::MaterialFunctions; + + Shared::MaterialFunctions[head++] = (void*)&UnrealCLRFramework::Material::IsDefaultMaterial; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::MaterialInstanceFunctions; + + Shared::MaterialInstanceFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInstance::IsChildOf; + Shared::MaterialInstanceFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInstance::GetParent; + + checksum += head; + } + + { + int32 head = 0; + Shared::Functions[position++] = Shared::MaterialInstanceDynamicFunctions; + + Shared::MaterialInstanceDynamicFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInstanceDynamic::ClearParameterValues; + Shared::MaterialInstanceDynamicFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInstanceDynamic::SetTextureParameterValue; + Shared::MaterialInstanceDynamicFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInstanceDynamic::SetVectorParameterValue; + Shared::MaterialInstanceDynamicFunctions[head++] = (void*)&UnrealCLRFramework::MaterialInstanceDynamic::SetScalarParameterValue; + + checksum += head; + } + + checksum += position; + + // Runtime pointers + + Shared::RuntimeFunctions[0] = (void*)&UnrealCLR::Module::Exception; + Shared::RuntimeFunctions[1] = (void*)&UnrealCLR::Module::Log; + + constexpr void* functions[3] = { + Shared::RuntimeFunctions, + Shared::Events, + Shared::Functions + }; + + if (reinterpret_cast(UnrealCLR::ManagedCommand(UnrealCLR::Command(functions, checksum))) == 0xF) { + UE_LOG(LogUnrealCLR, Display, TEXT("%s: Host runtime assembly initialized succesfuly!"), ANSI_TO_TCHAR(__FUNCTION__)); + } else { + UE_LOG(LogUnrealCLR, Error, TEXT("%s: Host runtime assembly initialization failed!"), ANSI_TO_TCHAR(__FUNCTION__)); + + return; + } + + UnrealCLR::Engine::Manager = NewObject(); + UnrealCLR::Engine::Manager->AddToRoot(); + UnrealCLR::Status = UnrealCLR::StatusType::Idle; + + UE_LOG(LogUnrealCLR, Display, TEXT("%s: Host loaded succesfuly!"), ANSI_TO_TCHAR(__FUNCTION__)); + } else { + UE_LOG(LogUnrealCLR, Error, TEXT("%s: Host runtime assembly unable to load the initialization function!"), ANSI_TO_TCHAR(__FUNCTION__)); + + return; + } + } else { + UE_LOG(LogUnrealCLR, Error, TEXT("%s: Host loading failed!"), ANSI_TO_TCHAR(__FUNCTION__)); + } +} + +void UnrealCLR::Module::ShutdownModule() { + if (UnrealCLR::Engine::Manager) { + UnrealCLR::Engine::Manager->RemoveFromRoot(); + UnrealCLR::Engine::Manager = nullptr; + } + + FWorldDelegates::OnPostWorldInitialization.Remove(OnWorldPostInitializationHandle); + FWorldDelegates::OnWorldCleanup.Remove(OnWorldCleanupHandle); + + FPlatformProcess::FreeDllHandle(HostfxrLibrary); +} + +void UnrealCLR::Module::OnWorldPostInitialization(UWorld* World, const UWorld::InitializationValues InitializationValues) { + if (World->IsGameWorld()) { + if (UnrealCLR::WorldTickState == TickState::Stopped) { + UnrealCLR::Engine::World = World; + + if (UnrealCLR::Status != UnrealCLR::StatusType::Stopped) { + UnrealCLR::ManagedCommand(UnrealCLR::Command(CommandType::LoadAssemblies)); + UnrealCLR::Status = UnrealCLR::StatusType::Running; + + for (TActorIterator currentActor(UnrealCLR::Engine::World); currentActor; ++currentActor) { + RegisterTickFunction(OnPrePhysicsTickFunction, TG_PrePhysics, *currentActor); + RegisterTickFunction(OnDuringPhysicsTickFunction, TG_DuringPhysics, *currentActor); + RegisterTickFunction(OnPostPhysicsTickFunction, TG_PostPhysics, *currentActor); + RegisterTickFunction(OnPostUpdateTickFunction, TG_PostUpdateWork, *currentActor); + + UnrealCLR::WorldTickState = UnrealCLR::TickState::Registered; + + if (UnrealCLR::Shared::Events[OnWorldBegin]) + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldBegin])); + + break; + } + } else { + #if WITH_EDITOR + FNotificationInfo notificationInfo(FText::FromString(TEXT("UnrealCLR host is not initialized! Please, check logs and try to restart the engine."))); + + notificationInfo.ExpireDuration = 5.0f; + + FSlateNotificationManager::Get().AddNotification(notificationInfo); + #endif + } + } + } +} + +void UnrealCLR::Module::OnWorldCleanup(UWorld* World, bool SessionEnded, bool CleanupResources) { + if (World->IsGameWorld() && World == UnrealCLR::Engine::World && UnrealCLR::WorldTickState != UnrealCLR::TickState::Stopped) { + if (UnrealCLR::Status != UnrealCLR::StatusType::Stopped) { + if (UnrealCLR::Shared::Events[OnWorldEnd]) + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldEnd])); + + OnPrePhysicsTickFunction.UnRegisterTickFunction(); + OnDuringPhysicsTickFunction.UnRegisterTickFunction(); + OnPostPhysicsTickFunction.UnRegisterTickFunction(); + OnPostUpdateTickFunction.UnRegisterTickFunction(); + + UnrealCLR::ManagedCommand(UnrealCLR::Command(CommandType::UnloadAssemblies)); + UnrealCLR::Status = UnrealCLR::StatusType::Idle; + } + + UnrealCLR::Engine::World = nullptr; + UnrealCLR::WorldTickState = UnrealCLR::TickState::Stopped; + + FMemory::Memset(UnrealCLR::Shared::Events, 0, sizeof(UnrealCLR::Shared::Events)); + } +} + +void UnrealCLR::Module::RegisterTickFunction(FTickFunction& TickFunction, ETickingGroup TickGroup, AWorldSettings* LevelActor) { + TickFunction.bCanEverTick = true; + TickFunction.bTickEvenWhenPaused = false; + TickFunction.bStartWithTickEnabled = true; + TickFunction.bHighPriority = true; + TickFunction.bAllowTickOnDedicatedServer = true; + TickFunction.bRunOnAnyThread = false; + TickFunction.TickGroup = TickGroup; + TickFunction.RegisterTickFunction(UnrealCLR::Engine::World->PersistentLevel); + LevelActor->PrimaryActorTick.AddPrerequisite(UnrealCLR::Engine::Manager, TickFunction); +} + +void UnrealCLR::Module::HostError(const char_t* Message) { + UE_LOG(LogUnrealCLR, Error, TEXT("%s: %s"), ANSI_TO_TCHAR(__FUNCTION__), *FString(Message)); +} + +void UnrealCLR::Module::Exception(const char* Message) { + FString message(ANSI_TO_TCHAR(Message)); + + UE_LOG(LogUnrealCLR, Error, TEXT("%s: %s"), ANSI_TO_TCHAR(__FUNCTION__), *message); + + GEngine->AddOnScreenDebugMessage((uint64)-1, 10.0f, FColor::Red, *message); +} + +void UnrealCLR::Module::Log(UnrealCLR::LogLevel Level, const char* Message) { + #define UNREALCLR_LOG(Verbosity) UE_LOG(LogUnrealCLR, Verbosity, TEXT("%s: %s"), ANSI_TO_TCHAR(__FUNCTION__), *message); + + FString message(ANSI_TO_TCHAR(Message)); + + if (Level == UnrealCLR::LogLevel::Display) { + UNREALCLR_LOG(Display); + } else if (Level == UnrealCLR::LogLevel::Warning) { + UNREALCLR_LOG(Warning); + + GEngine->AddOnScreenDebugMessage((uint64)-1, 60.0f, FColor::Yellow, *message); + } else if (Level == UnrealCLR::LogLevel::Error) { + UNREALCLR_LOG(Error); + + GEngine->AddOnScreenDebugMessage((uint64)-1, 60.0f, FColor::Red, *message); + } else if (Level == UnrealCLR::LogLevel::Fatal) { + UNREALCLR_LOG(Error); + + GEngine->AddOnScreenDebugMessage((uint64)-1, 60.0f, FColor::Red, *message); + + UnrealCLR::Status = UnrealCLR::StatusType::Idle; + } +} + +void UnrealCLR::PrePhysicsTickFunction::ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) { + if (UnrealCLR::WorldTickState != UnrealCLR::TickState::Started && UnrealCLR::Shared::Events[OnWorldPostBegin]) { + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldPostBegin])); + UnrealCLR::WorldTickState = UnrealCLR::TickState::Started; + } + + if (UnrealCLR::Shared::Events[OnWorldPrePhysicsTick]) + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldPrePhysicsTick], DeltaTime)); +} + +void UnrealCLR::DuringPhysicsTickFunction::ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) { + if (UnrealCLR::Shared::Events[OnWorldDuringPhysicsTick]) + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldDuringPhysicsTick], DeltaTime)); +} + +void UnrealCLR::PostPhysicsTickFunction::ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) { + if (UnrealCLR::Shared::Events[OnWorldPostPhysicsTick]) + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldPostPhysicsTick], DeltaTime)); +} + +void UnrealCLR::PostUpdateTickFunction::ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) { + if (UnrealCLR::Shared::Events[OnWorldPostUpdateTick]) + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[OnWorldPostUpdateTick], DeltaTime)); +} + +FString UnrealCLR::PrePhysicsTickFunction::DiagnosticMessage() { + return TEXT("PrePhysicsTickFunction"); +} + +FString UnrealCLR::DuringPhysicsTickFunction::DiagnosticMessage() { + return TEXT("DuringPhysicsTickFunction"); +} + +FString UnrealCLR::PostPhysicsTickFunction::DiagnosticMessage() { + return TEXT("PostPhysicsTickFunction"); +} + +FString UnrealCLR::PostUpdateTickFunction::DiagnosticMessage() { + return TEXT("PostUpdateTickFunction"); +} + +size_t UnrealCLR::Utility::Strcpy(char* Destination, const char* Source, size_t Length) { + char* destination = Destination; + const char* source = Source; + size_t length = Length; + + if (length != 0 && --length != 0) { + do { + if ((*destination++ = *source++) == 0) + break; + } + + while (--length != 0); + } + + if (length == 0) { + if (Length != 0) + *destination = '\0'; + + while (*source++); + } + + return (source - Source - 1); +} + +size_t UnrealCLR::Utility::Strlen(const char* Source) { + return strlen(Source) + 1; +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(UnrealCLR::Module, UnrealCLR) diff --git a/Plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRFramework.cpp b/Plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRFramework.cpp new file mode 100644 index 00000000..dadca67a --- /dev/null +++ b/Plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRFramework.cpp @@ -0,0 +1,3920 @@ +/* + * Unreal Engine .NET 5 integration + * Copyright (c) 2021 Stanislav Denisov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "UnrealCLRFramework.h" + +DEFINE_LOG_CATEGORY(LogUnrealManaged); + +namespace UnrealCLRFramework { + #define UNREALCLR_GET_ATTACHMENT_RULE(Rule, Result) {\ + switch (Rule) {\ + case AttachmentTransformRule::KeepRelativeTransform:\ + Result = FAttachmentTransformRules::KeepRelativeTransform;\ + break;\ + case AttachmentTransformRule::KeepWorldTransform:\ + Result = FAttachmentTransformRules::KeepWorldTransform;\ + break;\ + case AttachmentTransformRule::SnapToTargetIncludingScale:\ + Result = FAttachmentTransformRules::SnapToTargetIncludingScale;\ + break;\ + case AttachmentTransformRule::SnapToTargetNotIncludingScale:\ + Result = FAttachmentTransformRules::SnapToTargetNotIncludingScale;\ + break;\ + default:\ + break;\ + }\ + } + + #define UNREALCLR_GET_DETACHMENT_RULE(Rule, Result) {\ + switch (Rule) {\ + case DetachmentTransformRule::KeepRelativeTransform:\ + Result = FDetachmentTransformRules::KeepRelativeTransform;\ + break;\ + case DetachmentTransformRule::KeepWorldTransform:\ + Result = FDetachmentTransformRules::KeepWorldTransform;\ + break;\ + default:\ + break;\ + }\ + } + + #define UNREALCLR_GET_ACTOR_TYPE(Type, Head, Tail, Result) {\ + switch (Type) {\ + case ActorType::Base:\ + Result = Head AActor Tail;\ + break;\ + case ActorType::Camera:\ + Result = Head ACameraActor Tail;\ + break;\ + case ActorType::TriggerBox:\ + Result = Head ATriggerBox Tail;\ + break;\ + case ActorType::TriggerSphere:\ + Result = Head ATriggerSphere Tail;\ + break;\ + case ActorType::TriggerCapsule:\ + Result = Head ATriggerCapsule Tail;\ + break;\ + case ActorType::Pawn:\ + Result = Head APawn Tail;\ + break;\ + case ActorType::Character:\ + Result = Head ACharacter Tail;\ + break;\ + case ActorType::AIController:\ + Result = Head AAIController Tail;\ + break;\ + case ActorType::PlayerController:\ + Result = Head APlayerController Tail;\ + break;\ + case ActorType::Brush:\ + Result = Head ABrush Tail;\ + break;\ + case ActorType::AmbientSound:\ + Result = Head AAmbientSound Tail;\ + break;\ + case ActorType::DirectionalLight:\ + Result = Head ADirectionalLight Tail;\ + break;\ + case ActorType::PointLight:\ + Result = Head APointLight Tail;\ + break;\ + case ActorType::RectLight:\ + Result = Head ARectLight Tail;\ + break;\ + case ActorType::SpotLight:\ + Result = Head ASpotLight Tail;\ + break;\ + case ActorType::TriggerVolume:\ + Result = Head ATriggerVolume Tail;\ + break;\ + case ActorType::PostProcessVolume:\ + Result = Head APostProcessVolume Tail;\ + break;\ + case ActorType::LevelScript:\ + Result = Head ALevelScriptActor Tail;\ + break;\ + case ActorType::GameModeBase:\ + Result = Head AGameModeBase Tail;\ + break;\ + default:\ + break;\ + }\ + } + + #define UNREALCLR_GET_COMPONENT_TYPE(Type, Head, Tail, Result) {\ + switch (Type) {\ + case ComponentType::Actor:\ + Result = Head UActorComponent Tail;\ + break;\ + case ComponentType::Input:\ + Result = Head UInputComponent Tail;\ + break;\ + case ComponentType::Scene:\ + Result = Head USceneComponent Tail;\ + break;\ + case ComponentType::Audio:\ + Result = Head UAudioComponent Tail;\ + break;\ + case ComponentType::Camera:\ + Result = Head UCameraComponent Tail;\ + break;\ + case ComponentType::Light:\ + Result = Head ULightComponent Tail;\ + break;\ + case ComponentType::DirectionalLight:\ + Result = Head UDirectionalLightComponent Tail;\ + break;\ + case ComponentType::MotionController:\ + Result = Head UMotionControllerComponent Tail;\ + break;\ + case ComponentType::StaticMesh:\ + Result = Head UStaticMeshComponent Tail;\ + break;\ + case ComponentType::InstancedStaticMesh:\ + Result = Head UInstancedStaticMeshComponent Tail;\ + break;\ + case ComponentType::HierarchicalInstancedStaticMesh:\ + Result = Head UHierarchicalInstancedStaticMeshComponent Tail;\ + break;\ + case ComponentType::ChildActor:\ + Result = Head UChildActorComponent Tail;\ + break;\ + case ComponentType::SpringArm:\ + Result = Head USpringArmComponent Tail;\ + break;\ + case ComponentType::PostProcess:\ + Result = Head UPostProcessComponent Tail;\ + break;\ + case ComponentType::Box:\ + Result = Head UBoxComponent Tail;\ + break;\ + case ComponentType::Sphere:\ + Result = Head USphereComponent Tail;\ + break;\ + case ComponentType::Capsule:\ + Result = Head UCapsuleComponent Tail;\ + break;\ + case ComponentType::SkeletalMesh:\ + Result = Head USkeletalMeshComponent Tail;\ + break;\ + case ComponentType::TextRender:\ + Result = Head UTextRenderComponent Tail;\ + break;\ + case ComponentType::Spline:\ + Result = Head USplineComponent Tail;\ + break;\ + case ComponentType::RadialForce:\ + Result = Head URadialForceComponent Tail;\ + break;\ + default:\ + break;\ + }\ + } + + #define UNREALCLR_GET_ATTACHABLE_COMPONENT_TYPE(Type, Head, Tail, Result) {\ + switch (Type) {\ + case ComponentType::Scene:\ + Result = Head USceneComponent Tail;\ + break;\ + case ComponentType::Audio:\ + Result = Head UAudioComponent Tail;\ + break;\ + case ComponentType::Camera:\ + Result = Head UCameraComponent Tail;\ + break;\ + case ComponentType::Light:\ + Result = Head ULightComponent Tail;\ + break;\ + case ComponentType::DirectionalLight:\ + Result = Head UDirectionalLightComponent Tail;\ + break;\ + case ComponentType::MotionController:\ + Result = Head UMotionControllerComponent Tail;\ + break;\ + case ComponentType::StaticMesh:\ + Result = Head UStaticMeshComponent Tail;\ + break;\ + case ComponentType::InstancedStaticMesh:\ + Result = Head UInstancedStaticMeshComponent Tail;\ + break;\ + case ComponentType::HierarchicalInstancedStaticMesh:\ + Result = Head UHierarchicalInstancedStaticMeshComponent Tail;\ + break;\ + case ComponentType::ChildActor:\ + Result = Head UChildActorComponent Tail;\ + break;\ + case ComponentType::SpringArm:\ + Result = Head USpringArmComponent Tail;\ + break;\ + case ComponentType::PostProcess:\ + Result = Head UPostProcessComponent Tail;\ + break;\ + case ComponentType::Box:\ + Result = Head UBoxComponent Tail;\ + break;\ + case ComponentType::Sphere:\ + Result = Head USphereComponent Tail;\ + break;\ + case ComponentType::Capsule:\ + Result = Head UCapsuleComponent Tail;\ + break;\ + case ComponentType::SkeletalMesh:\ + Result = Head USkeletalMeshComponent Tail;\ + break;\ + case ComponentType::TextRender:\ + Result = Head UTextRenderComponent Tail;\ + break;\ + case ComponentType::Spline:\ + Result = Head USplineComponent Tail;\ + break;\ + case ComponentType::RadialForce:\ + Result = Head URadialForceComponent Tail;\ + break;\ + default:\ + break;\ + }\ + } + + #define UNREALCLR_GET_PROPERTY_VALUE(Type, Object, Name, Value)\ + FName name(ANSI_TO_TCHAR(Name));\ + for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) {\ + Type* property = *currentProperty;\ + if (property->GetFName() == name) {\ + *Value = property->GetPropertyValue_InContainer(Object);\ + return true;\ + }\ + }\ + return false; + + #define UNREALCLR_SET_PROPERTY_VALUE(Type, Object, Name, Value)\ + FName name(ANSI_TO_TCHAR(Name));\ + for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) {\ + Type* property = *currentProperty;\ + if (property->GetFName() == name) {\ + property->SetPropertyValue_InContainer(Object, Value);\ + return true;\ + }\ + }\ + return false; + + #define UNREALCLR_GET_BONE_NAME(Hit, Name)\ + if (Name && Hit.BoneName.GetStringLength() > 0) {\ + const char* boneName = TCHAR_TO_ANSI(*Hit.BoneName.ToString());\ + UnrealCLR::Utility::Strcpy(Name, boneName, UnrealCLR::Utility::Strlen(boneName));\ + } + + #define UNREALCLR_SET_BONE_NAME(Name)\ + FName boneName;\ + if (!Name)\ + boneName = NAME_None;\ + else\ + boneName = FName(ANSI_TO_TCHAR(Name)); + + #define UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent)\ + FCollisionQueryParams queryParams;\ + if (IgnoredActor)\ + queryParams.AddIgnoredActor(IgnoredActor);\ + if (IgnoredComponent)\ + queryParams.AddIgnoredComponent(IgnoredComponent); + + #define UNREALCLR_SET_ACTOR_EVENT(Type, Condition, Method) {\ + switch (Type) {\ + case ActorEventType::OnActorBeginOverlap:\ + if (Condition Actor->OnActorBeginOverlap.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorBeginOverlap))\ + Actor->OnActorBeginOverlap. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorBeginOverlap);\ + break;\ + case ActorEventType::OnActorEndOverlap:\ + if (Condition Actor->OnActorEndOverlap.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorEndOverlap))\ + Actor->OnActorEndOverlap. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorEndOverlap);\ + break;\ + case ActorEventType::OnActorHit:\ + if (Condition Actor->OnActorHit.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorHit))\ + Actor->OnActorHit. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorHit);\ + break;\ + case ActorEventType::OnActorBeginCursorOver:\ + if (Condition Actor->OnBeginCursorOver.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorBeginCursorOver))\ + Actor->OnBeginCursorOver. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorBeginCursorOver);\ + break;\ + case ActorEventType::OnActorEndCursorOver:\ + if (Condition Actor->OnEndCursorOver.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorEndCursorOver))\ + Actor->OnEndCursorOver. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorEndCursorOver);\ + break;\ + case ActorEventType::OnActorClicked:\ + if (Condition Actor->OnClicked.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorClicked))\ + Actor->OnClicked. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorClicked);\ + break;\ + case ActorEventType::OnActorReleased:\ + if (Condition Actor->OnReleased.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorReleased))\ + Actor->OnReleased. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ActorReleased);\ + break;\ + default:\ + break;\ + }\ + } + + #define UNREALCLR_SET_COMPONENT_EVENT(Type, Condition, Method) {\ + switch (Type) {\ + case ComponentEventType::OnComponentBeginOverlap:\ + if (Condition PrimitiveComponent->OnComponentBeginOverlap.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentBeginOverlap))\ + PrimitiveComponent->OnComponentBeginOverlap. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentBeginOverlap);\ + break;\ + case ComponentEventType::OnComponentEndOverlap:\ + if (Condition PrimitiveComponent->OnComponentEndOverlap.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentEndOverlap))\ + PrimitiveComponent->OnComponentEndOverlap. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentEndOverlap);\ + break;\ + case ComponentEventType::OnComponentHit:\ + if (Condition PrimitiveComponent->OnComponentHit.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentHit))\ + PrimitiveComponent->OnComponentHit. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentHit);\ + break;\ + case ComponentEventType::OnComponentBeginCursorOver:\ + if (Condition PrimitiveComponent->OnBeginCursorOver.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentBeginCursorOver))\ + PrimitiveComponent->OnBeginCursorOver. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentBeginCursorOver);\ + break;\ + case ComponentEventType::OnComponentEndCursorOver:\ + if (Condition PrimitiveComponent->OnEndCursorOver.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentEndCursorOver))\ + PrimitiveComponent->OnEndCursorOver. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentEndCursorOver);\ + break;\ + case ComponentEventType::OnComponentClicked:\ + if (Condition PrimitiveComponent->OnClicked.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentClicked))\ + PrimitiveComponent->OnClicked. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentClicked);\ + break;\ + case ComponentEventType::OnComponentReleased:\ + if (Condition PrimitiveComponent->OnReleased.IsAlreadyBound(UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentReleased))\ + PrimitiveComponent->OnReleased. Method (UnrealCLR::Engine::Manager, &UUnrealCLRManager::ComponentReleased);\ + break;\ + default:\ + break;\ + }\ + } + + #define UNREALCLR_COLOR_TO_INTEGER(Color) (Color.A << 24) + (Color.R << 16) + (Color.G << 8) + Color.B + + #if ENGINE_MAJOR_VERSION == 4 + #if ENGINE_MINOR_VERSION <= 26 + #define UNREALCLR_BLEND_TYPE 5 + #elif ENGINE_MINOR_VERSION >= 27 + #define UNREALCLR_BLEND_TYPE 6 + #endif + + #if ENGINE_MINOR_VERSION <= 25 + #define UNREALCLR_PIXEL_FORMAT 71 + #elif ENGINE_MINOR_VERSION >= 26 + #define UNREALCLR_PIXEL_FORMAT 72 + #endif + #elif ENGINE_MAJOR_VERSION == 5 + #define UNREALCLR_PIXEL_FORMAT 72 + #define UNREALCLR_BLEND_TYPE 6 + #endif + + static_assert(AudioFadeCurve::Count == AudioFadeCurve(4), "Invalid elements count of the [AudioFadeCurve] enumeration"); + static_assert(BlendType::VTBlend_MAX == BlendType(UNREALCLR_BLEND_TYPE), "Invalid elements count of the [BlendType] enumeration"); + static_assert(CollisionChannel::ECC_MAX == CollisionChannel(33), "Invalid elements count of the [CollisionChannel] enumeration"); + static_assert(CollisionResponse::ECR_MAX == CollisionResponse(3), "Invalid elements count of the [CollisionResponse] enumeration"); + static_assert(ControllerHand::ControllerHand_Count == ControllerHand(17), "Invalid elements count of the [ControllerHand] enumeration"); + static_assert(InputEvent::IE_MAX == InputEvent(5), "Invalid elements count of the [InputEvent] enumeration"); + static_assert(NetMode::NM_MAX == NetMode(4), "Invalid elements count of the [NetMode] enumeration"); + static_assert(PixelFormat::PF_MAX == PixelFormat(UNREALCLR_PIXEL_FORMAT), "Invalid elements count of the [PixelFormat] enumeration"); + + static_assert(sizeof(Bounds) == 28, "Invalid size of the [Bounds] structure"); + static_assert(sizeof(CollisionShape) == 16, "Invalid size of the [CollisionShape] structure"); + + namespace Assert { + void OutputMessage(const uint8* Message) { + FString message(UTF8_TO_TCHAR(Message)); + + UE_LOG(LogUnrealManaged, Error, TEXT("%s: %s"), ANSI_TO_TCHAR(__FUNCTION__), *message); + + GEngine->AddOnScreenDebugMessage((uint64)-1, 60.0f, FColor::Red, *message); + } + } + + namespace CommandLine { + void Get(char* Arguments) { + const char* arguments = TCHAR_TO_ANSI(FCommandLine::Get()); + + UnrealCLR::Utility::Strcpy(Arguments, arguments, UnrealCLR::Utility::Strlen(arguments)); + } + + void Set(const char* Arguments) { + FCommandLine::Set(ANSI_TO_TCHAR(Arguments)); + } + + void Append(const char* Arguments) { + FCommandLine::Append(ANSI_TO_TCHAR(Arguments)); + } + } + + namespace Debug { + void Log(LogLevel Level, const uint8* Message) { + #define UNREALCLR_FRAMEWORK_LOG(Verbosity) UE_LOG(LogUnrealManaged, Verbosity, TEXT("%s: %s"), ANSI_TO_TCHAR(__FUNCTION__), *FString(UTF8_TO_TCHAR(Message))); + + if (Level == LogLevel::Display) { + UNREALCLR_FRAMEWORK_LOG(Display); + } else if (Level == LogLevel::Warning) { + UNREALCLR_FRAMEWORK_LOG(Warning); + } else if (Level == LogLevel::Error) { + UNREALCLR_FRAMEWORK_LOG(Error); + } else if (Level == LogLevel::Fatal) { + UNREALCLR_FRAMEWORK_LOG(Fatal); + } + } + + void Exception(const uint8* Message) { + GEngine->AddOnScreenDebugMessage((uint64)-1, 10.0f, FColor::Red, *FString(UTF8_TO_TCHAR(Message))); + } + + void AddOnScreenMessage(int32 Key, float TimeToDisplay, Color DisplayColor, const uint8* Message) { + GEngine->AddOnScreenDebugMessage((uint64)Key, TimeToDisplay, DisplayColor, *FString(UTF8_TO_TCHAR(Message))); + } + + void ClearOnScreenMessages() { + GEngine->ClearOnScreenDebugMessages(); + } + + void DrawBox(const Vector3* Center, const Vector3* Extent, const Quaternion* Rotation, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness) { + DrawDebugBox(UnrealCLR::Engine::World, *Center, *Extent, *Rotation, Color, PersistentLines, LifeTime, DepthPriority, Thickness); + } + + void DrawCapsule(const Vector3* Center, float HalfHeight, float Radius, const Quaternion* Rotation, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness) { + DrawDebugCapsule(UnrealCLR::Engine::World, *Center, HalfHeight, Radius, *Rotation, Color, PersistentLines, LifeTime, DepthPriority, Thickness); + } + + void DrawCone(const Vector3* Origin, const Vector3* Direction, float Length, float AngleWidth, float AngleHeight, int32 Sides, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness) { + DrawDebugCone(UnrealCLR::Engine::World, *Origin, *Direction, Length, AngleWidth, AngleHeight, Sides, Color, PersistentLines, LifeTime, DepthPriority, Thickness); + } + + void DrawCylinder(const Vector3* Start, const Vector3* End, float Radius, int32 Segments, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness) { + DrawDebugCylinder(UnrealCLR::Engine::World, *Start, *End, Radius, Segments, Color, PersistentLines, LifeTime, DepthPriority, Thickness); + } + + void DrawSphere(const Vector3* Center, float Radius, int32 Segments, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness) { + DrawDebugSphere(UnrealCLR::Engine::World, *Center, Radius, Segments, Color, PersistentLines, LifeTime, DepthPriority, Thickness); + } + + void DrawLine(const Vector3* Start, const Vector3* End, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness) { + DrawDebugLine(UnrealCLR::Engine::World, *Start, *End, Color, PersistentLines, LifeTime, DepthPriority, Thickness); + } + + void DrawPoint(const Vector3* Location, float Size, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority) { + DrawDebugPoint(UnrealCLR::Engine::World, *Location, Size, Color, PersistentLines, LifeTime, DepthPriority); + } + + void FlushPersistentLines() { + FlushPersistentDebugLines(UnrealCLR::Engine::World); + } + } + + namespace Object { + bool IsPendingKill(UObject* Object) { + return Object->IsPendingKill(); + } + + bool IsValid(UObject* Object) { + return Object->IsValidLowLevel(); + } + + UObject* Load(ObjectType Type, const char* Name) { + UObject* object = nullptr; + + switch (Type) { + case ObjectType::Blueprint: { + #if WITH_EDITOR + object = StaticLoadObject(UBlueprint::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); + #else + FString name(ANSI_TO_TCHAR(Name)); + int32 index = INDEX_NONE; + + if (name.FindLastChar(TCHAR('/'), index)) { + name.AppendChar(TCHAR('.')); + name.Append(name.Mid(index + 1, name.Len() - index - 2)); + } + + name.Append(TEXT("_C")); + + object = StaticLoadObject(UClass::StaticClass(), nullptr, *name); + #endif + break; + } + + case ObjectType::SoundWave: { + object = StaticLoadObject(USoundWave::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); + break; + } + + case ObjectType::AnimationSequence: { + object = StaticLoadObject(UAnimSequence::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); + break; + } + + case ObjectType::AnimationMontage: { + object = StaticLoadObject(UAnimMontage::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); + break; + } + + case ObjectType::StaticMesh: { + object = StaticLoadObject(UStaticMesh::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); + break; + } + + case ObjectType::SkeletalMesh: { + object = StaticLoadObject(USkeletalMesh::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); + break; + } + + case ObjectType::Material: { + object = StaticLoadObject(UMaterial::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); + break; + } + + case ObjectType::Font: { + object = StaticLoadObject(UFont::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); + break; + } + + case ObjectType::Texture2D: { + object = StaticLoadObject(UTexture2D::StaticClass(), nullptr, *FString(ANSI_TO_TCHAR(Name))); + break; + } + + default: + break; + } + + return object; + } + + void Rename(UObject* Object, const char* Name) { + FString name(ANSI_TO_TCHAR(Name)); + + Object->Rename(*name); + } + + bool Invoke(UObject* Object, const uint8* Command) { + static FOutputDeviceNull outputDevice; + + return Object->CallFunctionByNameWithArguments(UTF8_TO_TCHAR(Command), outputDevice, nullptr, true); + } + + AActor* ToActor(UObject* Object, ActorType Type) { + AActor* actor = nullptr; + + UNREALCLR_GET_ACTOR_TYPE(Type, Cast<, >(Object), actor); + + return actor; + } + + UActorComponent* ToComponent(UObject* Object, ComponentType Type) { + UActorComponent* component = nullptr; + + UNREALCLR_GET_COMPONENT_TYPE(Type, Cast<, >(Object), component); + + return component; + } + + uint32 GetID(UObject* Object) { + return Object->GetUniqueID(); + } + + void GetName(UObject* Object, char* Name) { + const char* name = TCHAR_TO_ANSI(*Object->GetName()); + + UnrealCLR::Utility::Strcpy(Name, name, UnrealCLR::Utility::Strlen(name)); + } + + bool GetBool(UObject* Object, const char* Name, bool* Value) { + UNREALCLR_GET_PROPERTY_VALUE(FBoolProperty, Object, Name, Value); + } + + bool GetByte(UObject* Object, const char* Name, uint8* Value) { + UNREALCLR_GET_PROPERTY_VALUE(FByteProperty, Object, Name, Value); + } + + bool GetShort(UObject* Object, const char* Name, int16* Value) { + UNREALCLR_GET_PROPERTY_VALUE(FInt16Property, Object, Name, Value); + } + + bool GetInt(UObject* Object, const char* Name, int32* Value) { + UNREALCLR_GET_PROPERTY_VALUE(FIntProperty, Object, Name, Value); + } + + bool GetLong(UObject* Object, const char* Name, int64* Value) { + UNREALCLR_GET_PROPERTY_VALUE(FInt64Property, Object, Name, Value); + } + + bool GetUShort(UObject* Object, const char* Name, uint16* Value) { + UNREALCLR_GET_PROPERTY_VALUE(FUInt16Property, Object, Name, Value); + } + + bool GetUInt(UObject* Object, const char* Name, uint32* Value) { + UNREALCLR_GET_PROPERTY_VALUE(FUInt32Property, Object, Name, Value); + } + + bool GetULong(UObject* Object, const char* Name, uint64* Value) { + UNREALCLR_GET_PROPERTY_VALUE(FUInt64Property, Object, Name, Value); + } + + bool GetFloat(UObject* Object, const char* Name, float* Value) { + UNREALCLR_GET_PROPERTY_VALUE(FFloatProperty, Object, Name, Value); + } + + bool GetDouble(UObject* Object, const char* Name, double* Value) { + UNREALCLR_GET_PROPERTY_VALUE(FDoubleProperty, Object, Name, Value); + } + + bool GetEnum(UObject* Object, const char* Name, int32* Value) { + FName name(ANSI_TO_TCHAR(Name)); + + for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) { + FNumericProperty* property = *currentProperty; + + if (property->GetFName() == name) { + *Value = static_cast(property->GetSignedIntPropertyValue(property->ContainerPtrToValuePtr(Object))); + + return true; + } + } + + return false; + } + + bool GetString(UObject* Object, const char* Name, char* Value) { + FName name(ANSI_TO_TCHAR(Name)); + + for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) { + FStrProperty* property = *currentProperty; + + if (property->GetFName() == name) { + const char* string = TCHAR_TO_ANSI(*property->GetPropertyValue_InContainer(Object)); + + UnrealCLR::Utility::Strcpy(Value, string, UnrealCLR::Utility::Strlen(string)); + + return true; + } + } + + return false; + } + + bool GetText(UObject* Object, const char* Name, char* Value) { + FName name(ANSI_TO_TCHAR(Name)); + + for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) { + FTextProperty* property = *currentProperty; + + if (property->GetFName() == name) { + const char* string = TCHAR_TO_ANSI(*property->GetPropertyValue_InContainer(Object).ToString()); + + UnrealCLR::Utility::Strcpy(Value, string, UnrealCLR::Utility::Strlen(string)); + + return true; + } + } + + return false; + } + + bool SetBool(UObject* Object, const char* Name, bool Value) { + UNREALCLR_SET_PROPERTY_VALUE(FBoolProperty, Object, Name, Value); + } + + bool SetByte(UObject* Object, const char* Name, uint8 Value) { + UNREALCLR_SET_PROPERTY_VALUE(FByteProperty, Object, Name, Value); + } + + bool SetShort(UObject* Object, const char* Name, int16 Value) { + UNREALCLR_SET_PROPERTY_VALUE(FInt16Property, Object, Name, Value); + } + + bool SetInt(UObject* Object, const char* Name, int32 Value) { + UNREALCLR_SET_PROPERTY_VALUE(FIntProperty, Object, Name, Value); + } + + bool SetLong(UObject* Object, const char* Name, int64 Value) { + UNREALCLR_SET_PROPERTY_VALUE(FInt64Property, Object, Name, Value); + } + + bool SetUShort(UObject* Object, const char* Name, uint16 Value) { + UNREALCLR_SET_PROPERTY_VALUE(FUInt16Property, Object, Name, Value); + } + + bool SetUInt(UObject* Object, const char* Name, uint32 Value) { + UNREALCLR_SET_PROPERTY_VALUE(FUInt32Property, Object, Name, Value); + } + + bool SetULong(UObject* Object, const char* Name, uint64 Value) { + UNREALCLR_SET_PROPERTY_VALUE(FUInt64Property, Object, Name, Value); + } + + bool SetFloat(UObject* Object, const char* Name, float Value) { + UNREALCLR_SET_PROPERTY_VALUE(FFloatProperty, Object, Name, Value); + } + + bool SetDouble(UObject* Object, const char* Name, double Value) { + UNREALCLR_SET_PROPERTY_VALUE(FDoubleProperty, Object, Name, Value); + } + + bool SetEnum(UObject* Object, const char* Name, int32 Value) { + FName name(ANSI_TO_TCHAR(Name)); + + for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) { + FNumericProperty* property = *currentProperty; + + if (property->GetFName() == name) { + property->SetIntPropertyValue(property->ContainerPtrToValuePtr(Object), static_cast(Value)); + + return true; + } + } + + return false; + } + + bool SetString(UObject* Object, const char* Name, const char* Value) { + FName name(ANSI_TO_TCHAR(Name)); + + for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) { + FStrProperty* property = *currentProperty; + + if (property->GetFName() == name) { + property->SetPropertyValue_InContainer(Object, FString(ANSI_TO_TCHAR(Value))); + + return true; + } + } + + return false; + } + + bool SetText(UObject* Object, const char* Name, const char* Value) { + FName name(ANSI_TO_TCHAR(Name)); + + for (TFieldIterator currentProperty(Object->GetClass()); currentProperty; ++currentProperty) { + FTextProperty* property = *currentProperty; + + if (property->GetFName() == name) { + property->SetPropertyValue_InContainer(Object, FText::FromString(FString(ANSI_TO_TCHAR(Value)))); + + return true; + } + } + + return false; + } + } + + namespace Asset { + bool IsValid(FAssetData* Asset) { + return Asset->IsValid(); + } + + void GetName(FAssetData* Asset, char* Name) { + const char* name = TCHAR_TO_ANSI(*Asset->AssetName.ToString()); + + UnrealCLR::Utility::Strcpy(Name, name, UnrealCLR::Utility::Strlen(name)); + } + + void GetPath(FAssetData* Asset, char* Path) { + FString objectPath = Asset->ObjectPath.ToString(); + + int32 index = INDEX_NONE; + + if (objectPath.FindLastChar(TCHAR('.'), index)) + objectPath = FString(index, *objectPath); + + const char* path = TCHAR_TO_ANSI(*objectPath); + + UnrealCLR::Utility::Strcpy(Path, path, UnrealCLR::Utility::Strlen(path)); + } + } + + namespace AssetRegistry { + IAssetRegistry* Get() { + static IAssetRegistry* assetRegistry; + + if (!assetRegistry) + assetRegistry = &FModuleManager::Get().LoadModuleChecked(TEXT("AssetRegistry")).Get(); + + return assetRegistry; + } + + bool HasAssets(IAssetRegistry* AssetRegistry, const char* Path, bool Recursive) { + return AssetRegistry->HasAssets(FName(ANSI_TO_TCHAR(Path)), Recursive); + } + + void ForEachAsset(IAssetRegistry* AssetRegistry, const char* Path, bool Recursive, bool IncludeOnlyOnDiskAssets, FAssetData** Array, int32* Elements) { + static TArray assets; + static TArray references; + + assets.Reset(); + references.Reset(); + + AssetRegistry->GetAssetsByPath(FName(ANSI_TO_TCHAR(Path)), assets, Recursive, IncludeOnlyOnDiskAssets); + + int32 elements = assets.Num(); + + if (elements > 0) { + for (int32 i = 0; i < elements; i++) { + references.Add(&assets[i]); + } + + *Array = reinterpret_cast(references.GetData()); + *Elements = references.Num(); + } + } + } + + namespace Blueprint { + bool IsValidActorClass(UBlueprint* Blueprint, ActorType Type) { + #if WITH_EDITOR + TSubclassOf type; + + UNREALCLR_GET_ACTOR_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); + + return Blueprint->ParentClass == type; + #else + return true; + #endif + } + + bool IsValidComponentClass(UBlueprint* Blueprint, ComponentType Type) { + #if WITH_EDITOR + TSubclassOf type; + + UNREALCLR_GET_ATTACHABLE_COMPONENT_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); + + return Blueprint->ParentClass == type; + #else + return true; + #endif + } + } + + namespace Application { + bool IsCanEverRender() { + return FApp::CanEverRender(); + } + + bool IsPackagedForDistribution() { + return FGenericPlatformMisc::IsPackagedForDistribution(); + } + + bool IsPackagedForShipping() { + #if UE_BUILD_SHIPPING + return true; + #else + return false; + #endif + } + + void GetProjectDirectory(char* Directory) { + const char* directory = TCHAR_TO_ANSI(*FPaths::ConvertRelativePathToFull(FPaths::ProjectDir())); + + UnrealCLR::Utility::Strcpy(Directory, directory, UnrealCLR::Utility::Strlen(directory)); + } + + void GetDefaultLanguage(char* Language) { + const char* language = TCHAR_TO_ANSI(*FGenericPlatformMisc::GetDefaultLanguage()); + + UnrealCLR::Utility::Strcpy(Language, language, UnrealCLR::Utility::Strlen(language)); + } + + void GetProjectName(char* ProjectName) { + const char* projectName = TCHAR_TO_ANSI(FApp::GetProjectName()); + + UnrealCLR::Utility::Strcpy(ProjectName, projectName, UnrealCLR::Utility::Strlen(projectName)); + } + + float GetVolumeMultiplier() { + return FApp::GetVolumeMultiplier(); + } + + void SetProjectName(const char* ProjectName) { + FApp::SetProjectName(ANSI_TO_TCHAR(ProjectName)); + } + + void SetVolumeMultiplier(float Value) { + FApp::SetVolumeMultiplier(Value); + } + + void RequestExit(bool Force) { + FGenericPlatformMisc::RequestExit(Force); + } + } + + namespace ConsoleManager { + bool IsRegisteredVariable(const char* Name) { + return IConsoleManager::Get().IsNameRegistered(ANSI_TO_TCHAR(Name)); + } + + IConsoleVariable* FindVariable(const char* Name) { + return IConsoleManager::Get().FindConsoleVariable(ANSI_TO_TCHAR(Name)); + } + + IConsoleVariable* RegisterVariableBool(const char* Name, const char* Help, bool DefaultValue, bool ReadOnly) { + return IConsoleManager::Get().RegisterConsoleVariable(ANSI_TO_TCHAR(Name), DefaultValue, ANSI_TO_TCHAR(Help), !ReadOnly ? ECVF_Default : ECVF_ReadOnly); + } + + IConsoleVariable* RegisterVariableInt(const char* Name, const char* Help, int32 DefaultValue, bool ReadOnly) { + return IConsoleManager::Get().RegisterConsoleVariable(ANSI_TO_TCHAR(Name), DefaultValue, ANSI_TO_TCHAR(Help), !ReadOnly ? ECVF_Default : ECVF_ReadOnly); + } + + IConsoleVariable* RegisterVariableFloat(const char* Name, const char* Help, float DefaultValue, bool ReadOnly) { + return IConsoleManager::Get().RegisterConsoleVariable(ANSI_TO_TCHAR(Name), DefaultValue, ANSI_TO_TCHAR(Help), !ReadOnly ? ECVF_Default : ECVF_ReadOnly); + } + + IConsoleVariable* RegisterVariableString(const char* Name, const char* Help, const char* DefaultValue, bool ReadOnly) { + return IConsoleManager::Get().RegisterConsoleVariable(ANSI_TO_TCHAR(Name), ANSI_TO_TCHAR(DefaultValue), ANSI_TO_TCHAR(Help), !ReadOnly ? ECVF_Default : ECVF_ReadOnly); + } + + void RegisterCommand(const char* Name, const char* Help, ConsoleCommandDelegate Callback, bool ReadOnly) { + auto callback = [Callback](const TArray& Arguments) { + if (UnrealCLR::Status == UnrealCLR::StatusType::Running) { + float value = 0.0f; + + if (Arguments.Num() > 0) + FDefaultValueHelper::ParseFloat(Arguments[0], value); + + UnrealCLR::ManagedCommand(UnrealCLR::Command((void*)Callback, value)); + } + }; + + IConsoleManager::Get().RegisterConsoleCommand(ANSI_TO_TCHAR(Name), ANSI_TO_TCHAR(Help), FConsoleCommandWithArgsDelegate::CreateLambda(callback), !ReadOnly ? ECVF_Default : ECVF_ReadOnly); + } + + void UnregisterObject(const char* Name) { + IConsoleManager::Get().UnregisterConsoleObject(ANSI_TO_TCHAR(Name), false); + } + } + + namespace Engine { + bool IsSplitScreen() { + return GEngine->IsSplitScreen(UnrealCLR::Engine::World); + } + + bool IsEditor() { + return UnrealCLR::Engine::World->IsPlayInEditor(); + } + + bool IsForegroundWindow() { + return UnrealCLR::Engine::World->GetGameViewport()->Viewport->IsForegroundWindow(); + } + + bool IsExitRequested() { + return IsEngineExitRequested(); + } + + NetMode GetNetMode() { + return UnrealCLR::Engine::World->GetNetMode(); + } + + uint32 GetFrameNumber() { + return GFrameNumber; + } + + void GetViewportSize(Vector2* Value) { + *Value = FVector2D(GEngine->GameViewport->Viewport->GetSizeXY()); + } + + void GetScreenResolution(Vector2* Value) { + *Value = FVector2D(static_cast(GSystemResolution.ResX), static_cast(GSystemResolution.ResY)); + } + + WindowMode GetWindowMode() { + return UnrealCLR::Engine::World->GetGameViewport()->Viewport->GetWindowMode(); + } + + void GetVersion(char* Version) { + const char* version = TCHAR_TO_ANSI(*FEngineVersion::Current().ToString()); + + UnrealCLR::Utility::Strcpy(Version, version, UnrealCLR::Utility::Strlen(version)); + } + + float GetMaxFPS() { + return GEngine->GetMaxFPS(); + } + + void SetMaxFPS(float MaxFPS) { + GEngine->SetMaxFPS(MaxFPS); + } + + void SetTitle(const char* Title) { + UGameEngine* gameEngine = Cast(GEngine); + + if (gameEngine) { + TSharedPtr gameViewportWindow = gameEngine->GameViewportWindow.Pin(); + + if (gameViewportWindow.IsValid()) + gameViewportWindow->SetTitle(FText::FromString(FString(ANSI_TO_TCHAR(Title)))); + } + } + + void AddActionMapping(const char* ActionName, const char* Key, bool Shift, bool Ctrl, bool Alt, bool Cmd) { + UPlayerInput::AddEngineDefinedActionMapping(FInputActionKeyMapping(FName(ANSI_TO_TCHAR(ActionName)), FKey(ANSI_TO_TCHAR(Key)), Shift, Ctrl, Alt, Cmd)); + } + + void AddAxisMapping(const char* AxisName, const char* Key, float Scale) { + UPlayerInput::AddEngineDefinedAxisMapping(FInputAxisKeyMapping(FName(ANSI_TO_TCHAR(AxisName)), FKey(ANSI_TO_TCHAR(Key)), Scale)); + } + + void ForceGarbageCollection(bool FullPurge) { + GEngine->ForceGarbageCollection(FullPurge); + } + + void DelayGarbageCollection() { + GEngine->DelayGarbageCollection(); + } + } + + namespace HeadMountedDisplay { + bool IsConnected() { + return UHeadMountedDisplayFunctionLibrary::IsHeadMountedDisplayConnected(); + } + + bool GetEnabled() { + return UHeadMountedDisplayFunctionLibrary::IsHeadMountedDisplayEnabled(); + } + + bool GetLowPersistenceMode() { + return UHeadMountedDisplayFunctionLibrary::IsInLowPersistenceMode(); + } + + void GetDeviceName(char* Name) { + FName deviceName = UHeadMountedDisplayFunctionLibrary::GetHMDDeviceName(); + + const char* name = TCHAR_TO_ANSI(*deviceName.ToString()); + + UnrealCLR::Utility::Strcpy(Name, name, UnrealCLR::Utility::Strlen(name)); + } + + void SetEnable(bool Value) { + UHeadMountedDisplayFunctionLibrary::EnableHMD(Value); + } + + void SetLowPersistenceMode(bool Value) { + UHeadMountedDisplayFunctionLibrary::EnableLowPersistenceMode(Value); + } + } + + namespace World { + void ForEachActor(AActor** Array, int32* Elements) { + static TArray actors; + + actors.Reset(); + + for (TActorIterator currentActor(UnrealCLR::Engine::World); currentActor; ++currentActor) { + actors.Add(*currentActor); + } + + int32 elements = actors.Num(); + + if (elements > 0) { + *Array = reinterpret_cast(actors.GetData()); + *Elements = elements; + } + } + + int32 GetActorCount() { + return UnrealCLR::Engine::World->GetActorCount(); + } + + float GetDeltaSeconds() { + return UnrealCLR::Engine::World->GetDeltaSeconds(); + } + + float GetRealTimeSeconds() { + return UnrealCLR::Engine::World->GetRealTimeSeconds(); + } + + float GetTimeSeconds() { + return UnrealCLR::Engine::World->GetTimeSeconds(); + } + + void GetCurrentLevelName(char* LevelName) { + FString mapName = UnrealCLR::Engine::World->GetMapName(); + + mapName.RemoveFromStart(UnrealCLR::Engine::World->StreamingLevelsPrefix); + + const char* levelName = TCHAR_TO_ANSI(*mapName); + + UnrealCLR::Utility::Strcpy(LevelName, levelName, UnrealCLR::Utility::Strlen(levelName)); + } + + bool GetSimulatePhysics() { + return UnrealCLR::Engine::World->bShouldSimulatePhysics; + } + + void GetWorldOrigin(Vector3* Value) { + *Value = FVector(UnrealCLR::Engine::World->OriginLocation); + } + + AActor* GetActor(const char* Name, ActorType Type) { + FString name; + AActor* actor = nullptr; + TSubclassOf type; + + if (Name) + name = FString(ANSI_TO_TCHAR(Name)); + + UNREALCLR_GET_ACTOR_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); + + for (TActorIterator currentActor(UnrealCLR::Engine::World, type); currentActor; ++currentActor) { + if (!Name || (Name && *currentActor->GetName() == name)) { + actor = *currentActor; + break; + } + } + + return actor; + } + + AActor* GetActorByTag(const char* Tag, ActorType Type) { + AActor* actor = nullptr; + TSubclassOf type; + FName tag(ANSI_TO_TCHAR(Tag)); + + UNREALCLR_GET_ACTOR_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); + + for (TActorIterator currentActor(UnrealCLR::Engine::World, type); currentActor; ++currentActor) { + if (currentActor->ActorHasTag(tag)) { + actor = *currentActor; + break; + } + } + + return actor; + } + + AActor* GetActorByID(uint32 ID, ActorType Type) { + AActor* actor = nullptr; + TSubclassOf type; + + UNREALCLR_GET_ACTOR_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); + + for (TActorIterator currentActor(UnrealCLR::Engine::World, type); currentActor; ++currentActor) { + if (currentActor->GetUniqueID() == ID) { + actor = *currentActor; + break; + } + } + + return actor; + } + + APlayerController* GetFirstPlayerController() { + return UnrealCLR::Engine::World->GetFirstPlayerController(); + } + + AGameModeBase* GetGameMode() { + return UnrealCLR::Engine::World->GetAuthGameMode(); + } + + void SetOnActorBeginOverlapCallback(ActorOverlapDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginOverlap] = (void*)Callback; + } + + void SetOnActorEndOverlapCallback(ActorOverlapDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnActorEndOverlap] = (void*)Callback; + } + + void SetOnActorHitCallback(ActorHitDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnActorHit] = (void*)Callback; + } + + void SetOnActorBeginCursorOverCallback(ActorCursorDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginCursorOver] = (void*)Callback; + } + + void SetOnActorEndCursorOverCallback(ActorCursorDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnActorEndCursorOver] = (void*)Callback; + } + + void SetOnActorClickedCallback(ActorKeyDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnActorClicked] = (void*)Callback; + } + + void SetOnActorReleasedCallback(ActorKeyDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnActorReleased] = (void*)Callback; + } + + void SetOnComponentBeginOverlapCallback(ComponentOverlapDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnComponentBeginOverlap] = (void*)Callback; + } + + void SetOnComponentEndOverlapCallback(ComponentOverlapDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnComponentEndOverlap] = (void*)Callback; + } + + void SetOnComponentHitCallback(ComponentHitDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnComponentHit] = (void*)Callback; + } + + void SetOnComponentBeginCursorOverCallback(ComponentCursorDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnComponentBeginCursorOver] = (void*)Callback; + } + + void SetOnComponentEndCursorOverCallback(ComponentCursorDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnComponentEndCursorOver] = (void*)Callback; + } + + void SetOnComponentClickedCallback(ComponentKeyDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnComponentClicked] = (void*)Callback; + } + + void SetOnComponentReleasedCallback(ComponentKeyDelegate Callback) { + UnrealCLR::Shared::Events[UnrealCLR::OnComponentReleased] = (void*)Callback; + } + + void SetSimulatePhysics(bool Value) { + UnrealCLR::Engine::World->bShouldSimulatePhysics = Value; + } + + void SetGravity(float Value) { + AWorldSettings* worldSettings = UnrealCLR::Engine::World->GetWorldSettings(); + + worldSettings->bGlobalGravitySet = true; + worldSettings->GlobalGravityZ = Value; + } + + bool SetWorldOrigin(const Vector3* Value) { + return UnrealCLR::Engine::World->SetNewWorldOrigin(FIntVector(*Value)); + } + + void OpenLevel(const char* LevelName) { + GEngine->SetClientTravel(UnrealCLR::Engine::World, ANSI_TO_TCHAR(LevelName), TRAVEL_Absolute); + } + + bool LineTraceTestByChannel(const Vector3* Start, const Vector3* End, CollisionChannel Channel, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { + UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); + + queryParams.bTraceComplex = TraceComplex; + + return UnrealCLR::Engine::World->LineTraceTestByChannel(*Start, *End, Channel, queryParams); + } + + bool LineTraceTestByProfile(const Vector3* Start, const Vector3* End, const char* ProfileName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { + UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); + + queryParams.bTraceComplex = TraceComplex; + + return UnrealCLR::Engine::World->LineTraceTestByProfile(*Start, *End, FName(ANSI_TO_TCHAR(ProfileName)), queryParams); + } + + bool LineTraceSingleByChannel(const Vector3* Start, const Vector3* End, CollisionChannel Channel, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { + FHitResult hit; + + UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); + + queryParams.bTraceComplex = TraceComplex; + + bool result = UnrealCLR::Engine::World->LineTraceSingleByChannel(hit, *Start, *End, Channel, queryParams); + + UNREALCLR_GET_BONE_NAME(hit, BoneName); + + *Hit = hit; + + return result; + } + + bool LineTraceSingleByProfile(const Vector3* Start, const Vector3* End, const char* ProfileName, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { + FHitResult hit; + + UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); + + queryParams.bTraceComplex = TraceComplex; + + bool result = UnrealCLR::Engine::World->LineTraceSingleByProfile(hit, *Start, *End, FName(ANSI_TO_TCHAR(ProfileName)), queryParams); + + UNREALCLR_GET_BONE_NAME(hit, BoneName); + + *Hit = hit; + + return result; + } + + bool SweepTestByChannel(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { + UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); + + queryParams.bTraceComplex = TraceComplex; + + return UnrealCLR::Engine::World->SweepTestByChannel(*Start, *End, *Rotation, Channel, *Shape, queryParams); + } + + bool SweepTestByProfile(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { + UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); + + queryParams.bTraceComplex = TraceComplex; + + return UnrealCLR::Engine::World->SweepTestByProfile( *Start, *End, *Rotation, FName(ANSI_TO_TCHAR(ProfileName)), *Shape, queryParams); + } + + bool SweepSingleByChannel(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { + FHitResult hit; + + UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); + + queryParams.bTraceComplex = TraceComplex; + + bool result = UnrealCLR::Engine::World->SweepSingleByChannel(hit, *Start, *End, *Rotation, Channel, *Shape, queryParams); + + UNREALCLR_GET_BONE_NAME(hit, BoneName); + + *Hit = hit; + + return result; + } + + bool SweepSingleByProfile(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { + FHitResult hit; + + UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); + + queryParams.bTraceComplex = TraceComplex; + + bool result = UnrealCLR::Engine::World->SweepSingleByProfile(hit, *Start, *End, *Rotation, FName(ANSI_TO_TCHAR(ProfileName)), *Shape, queryParams); + + UNREALCLR_GET_BONE_NAME(hit, BoneName); + + *Hit = hit; + + return result; + } + + bool OverlapAnyTestByChannel(const Vector3* Location, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { + UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); + + return UnrealCLR::Engine::World->OverlapAnyTestByChannel(*Location, *Rotation, Channel, *Shape, queryParams); + } + + bool OverlapAnyTestByProfile(const Vector3* Location, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { + UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); + + return UnrealCLR::Engine::World->OverlapAnyTestByProfile(*Location, *Rotation, FName(ANSI_TO_TCHAR(ProfileName)), *Shape, queryParams); + } + + bool OverlapBlockingTestByChannel(const Vector3* Location, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { + UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); + + return UnrealCLR::Engine::World->OverlapBlockingTestByChannel(*Location, *Rotation, Channel, *Shape, queryParams); + } + + bool OverlapBlockingTestByProfile(const Vector3* Location, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent) { + UNREALCLR_SET_COLLISION_QUERY_PARAMS(IgnoredActor, IgnoredComponent); + + return UnrealCLR::Engine::World->OverlapBlockingTestByProfile(*Location, *Rotation, FName(ANSI_TO_TCHAR(ProfileName)), *Shape, queryParams); + } + } + + namespace ConsoleObject { + bool IsBool(IConsoleObject* ConsoleObject) { + return ConsoleObject->IsVariableBool(); + } + + bool IsInt(IConsoleObject* ConsoleObject) { + return ConsoleObject->IsVariableInt(); + } + + bool IsFloat(IConsoleObject* ConsoleObject) { + return ConsoleObject->IsVariableFloat(); + } + + bool IsString(IConsoleObject* ConsoleObject) { + return ConsoleObject->IsVariableString(); + } + } + + namespace ConsoleVariable { + bool GetBool(IConsoleVariable* ConsoleVariable) { + return ConsoleVariable->GetBool(); + } + + int32 GetInt(IConsoleVariable* ConsoleVariable) { + return ConsoleVariable->GetInt(); + } + + float GetFloat(IConsoleVariable* ConsoleVariable) { + return ConsoleVariable->GetFloat(); + } + + void GetString(IConsoleVariable* ConsoleVariable, char* Value) { + const char* value = TCHAR_TO_ANSI(*ConsoleVariable->GetString()); + + UnrealCLR::Utility::Strcpy(Value, value, UnrealCLR::Utility::Strlen(value)); + } + + void SetBool(IConsoleVariable* ConsoleVariable, bool Value) { + ConsoleVariable->Set(Value); + } + + void SetInt(IConsoleVariable* ConsoleVariable, int32 Value) { + ConsoleVariable->Set(Value); + } + + void SetFloat(IConsoleVariable* ConsoleVariable, float Value) { + ConsoleVariable->Set(Value); + } + + void SetString(IConsoleVariable* ConsoleVariable, const char* Value) { + ConsoleVariable->Set(ANSI_TO_TCHAR(Value)); + } + + void SetOnChangedCallback(IConsoleVariable* ConsoleVariable, ConsoleVariableDelegate Callback) { + auto callback = [Callback](IConsoleVariable* ConsoleVariable) { + UnrealCLR::ManagedCommand(UnrealCLR::Command((void*)Callback)); + }; + + ConsoleVariable->SetOnChangedCallback(FConsoleVariableDelegate::CreateLambda(callback)); + } + + void ClearOnChangedCallback(IConsoleVariable* ConsoleVariable) { + FConsoleVariableDelegate emptyDelegate; + + ConsoleVariable->SetOnChangedCallback(emptyDelegate); + } + } + + namespace Actor { + bool IsPendingKill(AActor* Actor) { + return Actor->IsPendingKillPending(); + } + + bool IsRootComponentMovable(AActor* Actor) { + return Actor->IsRootComponentMovable(); + } + + bool IsOverlappingActor(AActor* Actor, AActor* Other) { + return Actor->IsOverlappingActor(Other); + } + + void ForEachComponent(AActor* Actor, UActorComponent** Array, int32* Elements) { + static TArray components; + + components.Reset(); + + Actor->GetComponents(components); + + int32 elements = components.Num(); + + if (elements > 0) { + *Array = reinterpret_cast(components.GetData()); + *Elements = elements; + } + } + + void ForEachAttachedActor(AActor* Actor, AActor** Array, int32* Elements) { + static TArray actors; + + actors.Reset(); + + Actor->GetAttachedActors(actors); + + int32 elements = actors.Num(); + + if (elements > 0) { + *Array = reinterpret_cast(actors.GetData()); + *Elements = elements; + } + } + + void ForEachChildActor(AActor* Actor, AActor** Array, int32* Elements) { + static TArray actors; + + actors.Reset(); + + Actor->GetAllChildActors(actors); + + int32 elements = actors.Num(); + + if (elements > 0) { + *Array = reinterpret_cast(actors.GetData()); + *Elements = elements; + } + } + + void ForEachOverlappingActor(AActor* Actor, AActor** Array, int32* Elements) { + static TArray overlappingActors; + + overlappingActors.Reset(); + + Actor->GetOverlappingActors(overlappingActors); + + int32 elements = overlappingActors.Num(); + + if (elements > 0) { + *Array = reinterpret_cast(overlappingActors.GetData()); + *Elements = elements; + } + } + + AActor* Spawn(const char* Name, ActorType Type, UObject* Blueprint) { + AActor* actor = nullptr; + + if (!Blueprint) { + UNREALCLR_GET_ACTOR_TYPE(Type, UnrealCLR::Engine::World->SpawnActor UNREALCLR_BRACKET_LEFT, ::StaticClass() UNREALCLR_BRACKET_RIGHT, actor); + } else { + #if !WITH_EDITOR + UNREALCLR_GET_ACTOR_TYPE(Type, UnrealCLR::Engine::World->SpawnActor<, >(Cast(Blueprint)), actor); + #else + UNREALCLR_GET_ACTOR_TYPE(Type, UnrealCLR::Engine::World->SpawnActor<, >(Cast(Blueprint)->GeneratedClass), actor); + #endif + } + + if (actor && Name) { + FString name(ANSI_TO_TCHAR(Name)); + + actor->Rename(*name); + + #if WITH_EDITOR + actor->SetActorLabel(*name); + #endif + } + + return actor; + } + + bool Destroy(AActor* Actor) { + return UnrealCLR::Engine::World->DestroyActor(Actor); + } + + void Rename(AActor* Actor, const char* Name) { + FString name(ANSI_TO_TCHAR(Name)); + + Actor->Rename(*name); + + #if WITH_EDITOR + Actor->SetActorLabel(*name); + #endif + } + + void Hide(AActor* Actor, bool Value) { + Actor->SetActorHiddenInGame(Value); + } + + bool TeleportTo(AActor* Actor, const Vector3* DestinationLocation, const Quaternion* DestinationRotation, bool IsATest, bool NoCheck) { + return Actor->TeleportTo(*DestinationLocation, FRotator(*DestinationRotation), IsATest, NoCheck); + } + + UActorComponent* GetComponent(AActor* Actor, const char* Name, ComponentType Type) { + FString name; + UActorComponent* component = nullptr; + TSubclassOf type; + + if (Name) + name = FString(ANSI_TO_TCHAR(Name)); + + UNREALCLR_GET_COMPONENT_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); + + for (UActorComponent* currentComponent : Actor->GetComponents()) { + if (currentComponent && currentComponent->IsA(type) && (!Name || (Name && *currentComponent->GetName() == name))) { + component = currentComponent; + break; + } + } + + return component; + } + + UActorComponent* GetComponentByTag(AActor* Actor, const char* Tag, ComponentType Type) { + UActorComponent* component = nullptr; + TSubclassOf type; + FName tag(ANSI_TO_TCHAR(Tag)); + + UNREALCLR_GET_COMPONENT_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); + + for (UActorComponent* currentComponent : Actor->GetComponents()) { + if (currentComponent->ComponentHasTag(tag)) { + component = currentComponent; + break; + } + } + + return component; + } + + UActorComponent* GetComponentByID(AActor* Actor, uint32 ID, ComponentType Type) { + UActorComponent* component = nullptr; + TSubclassOf type; + + UNREALCLR_GET_COMPONENT_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); + + for (UActorComponent* currentComponent : Actor->GetComponents()) { + if (currentComponent->GetUniqueID() == ID) { + component = currentComponent; + break; + } + } + + return component; + } + + USceneComponent* GetRootComponent(AActor* Actor, ComponentType Type) { + USceneComponent* component = nullptr; + USceneComponent* rootComponent = Actor->GetRootComponent(); + TSubclassOf type; + + UNREALCLR_GET_ATTACHABLE_COMPONENT_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); + + if (rootComponent->IsA(type)) + component = rootComponent; + + return component; + } + + UInputComponent* GetInputComponent(AActor* Actor) { + return Actor->InputComponent; + } + + float GetCreationTime(AActor* Actor) { + return Actor->CreationTime; + } + + bool GetBlockInput(AActor* Actor) { + return Actor->bBlockInput; + } + + float GetDistanceTo(AActor* Actor, AActor* Other) { + return Actor->GetDistanceTo(Other); + } + + float GetHorizontalDistanceTo(AActor* Actor, AActor* Other) { + return Actor->GetDistanceTo(Other); + } + + void GetBounds(AActor* Actor, bool OnlyCollidingComponents, Vector3* Origin, Vector3* Extent) { + FVector origin, extent; + + Actor->GetActorBounds(OnlyCollidingComponents, origin, extent); + + *Origin = origin; + *Extent = extent; + } + + void GetEyesViewPoint(AActor* Actor, Vector3* Location, Quaternion* Rotation) { + FVector location; + FRotator rotation; + + Actor->GetActorEyesViewPoint(location, rotation); + + *Location = location; + *Rotation = rotation.Quaternion(); + } + + bool SetRootComponent(AActor* Actor, USceneComponent* RootComponent) { + return Actor->SetRootComponent(RootComponent); + } + + void SetInputComponent(AActor* Actor, UInputComponent* InputComponent) { + Actor->InputComponent = InputComponent; + } + + void SetBlockInput(AActor* Actor, bool Value) { + Actor->bBlockInput = Value; + } + + void SetLifeSpan(AActor* Actor, float LifeSpan) { + Actor->SetLifeSpan(LifeSpan); + } + + void SetEnableInput(AActor* Actor, APlayerController* PlayerController, bool Value) { + if (Value) + Actor->EnableInput(PlayerController); + else + Actor->DisableInput(PlayerController); + } + + void SetEnableCollision(AActor* Actor, bool Value) { + Actor->SetActorEnableCollision(Value); + } + + void AddTag(AActor* Actor, const char* Tag) { + Actor->Tags.AddUnique(FName(ANSI_TO_TCHAR(Tag))); + } + + void RemoveTag(AActor* Actor, const char* Tag) { + Actor->Tags.Remove(FName(ANSI_TO_TCHAR(Tag))); + } + + bool HasTag(AActor* Actor, const char* Tag) { + return Actor->ActorHasTag(FName(ANSI_TO_TCHAR(Tag))); + } + + void RegisterEvent(AActor* Actor, ActorEventType Type) { + UNREALCLR_SET_ACTOR_EVENT(Type, !, AddDynamic); + } + + void UnregisterEvent(AActor* Actor, ActorEventType Type) { + UNREALCLR_SET_ACTOR_EVENT(Type, UNREALCLR_NONE, RemoveDynamic); + } + } + + namespace GameModeBase { + bool GetUseSeamlessTravel(AGameModeBase* GameModeBase) { + return GameModeBase->bUseSeamlessTravel; + } + + void SetUseSeamlessTravel(AGameModeBase* GameModeBase, bool Value) { + GameModeBase->bUseSeamlessTravel = Value; + } + + void SwapPlayerControllers(AGameModeBase* GameModeBase, APlayerController* PlayerController, APlayerController* NewPlayerController) { + GameModeBase->SwapPlayerControllers(PlayerController, NewPlayerController); + } + } + + namespace Pawn { + bool IsControlled(APawn* Pawn) { + return Pawn->IsPawnControlled(); + } + + bool IsPlayerControlled(APawn* Pawn) { + return Pawn->IsPlayerControlled(); + } + + AutoPossessAI GetAutoPossessAI(APawn* Pawn) { + return Pawn->AutoPossessAI; + } + + AutoReceiveInput GetAutoPossessPlayer(APawn* Pawn) { + return Pawn->AutoPossessPlayer; + } + + bool GetUseControllerRotationYaw(APawn* Pawn) { + return Pawn->bUseControllerRotationYaw; + } + + bool GetUseControllerRotationPitch(APawn* Pawn) { + return Pawn->bUseControllerRotationPitch; + } + + bool GetUseControllerRotationRoll(APawn* Pawn) { + return Pawn->bUseControllerRotationRoll; + } + + void GetGravityDirection(APawn* Pawn, Vector3* Value) { + *Value = Pawn->GetGravityDirection(); + } + + AAIController* GetAIController(APawn* Pawn) { + return Cast(Pawn->GetController()); + } + + APlayerController* GetPlayerController(APawn* Pawn) { + return Cast(Pawn->GetController()); + } + + void SetAutoPossessAI(APawn* Pawn, AutoPossessAI Value) { + Pawn->AutoPossessAI = Value; + } + + void SetAutoPossessPlayer(APawn* Pawn, AutoReceiveInput Value) { + Pawn->AutoPossessPlayer = Value; + } + + void SetUseControllerRotationYaw(APawn* Pawn, bool Value) { + Pawn->bUseControllerRotationYaw = Value; + } + + void SetUseControllerRotationPitch(APawn* Pawn, bool Value) { + Pawn->bUseControllerRotationPitch = Value; + } + + void SetUseControllerRotationRoll(APawn* Pawn, bool Value) { + Pawn->bUseControllerRotationRoll = Value; + } + + void AddControllerYawInput(APawn* Pawn, float Value) { + Pawn->AddControllerYawInput(Value); + } + + void AddControllerPitchInput(APawn* Pawn, float Value) { + Pawn->AddControllerPitchInput(Value); + } + + void AddControllerRollInput(APawn* Pawn, float Value) { + Pawn->AddControllerRollInput(Value); + } + + void AddMovementInput(APawn* Pawn, const Vector3* WorldDirection, float ScaleValue, bool Force) { + Pawn->AddMovementInput(*WorldDirection, ScaleValue, Force); + } + } + + namespace Character { + bool IsCrouched(ACharacter* Character) { + return Character->bIsCrouched; + } + + bool CanCrouch(ACharacter* Character) { + return Character->CanCrouch(); + } + + bool CanJump(ACharacter* Character) { + return Character->CanJump(); + } + + void CheckJumpInput(ACharacter* Character, float DeltaTime) { + Character->CheckJumpInput(DeltaTime); + } + + void ClearJumpInput(ACharacter* Character, float DeltaTime) { + Character->ClearJumpInput(DeltaTime); + } + + void Launch(ACharacter* Character, const Vector3* Velocity, bool OverrideXY, bool OverrideZ) { + Character->LaunchCharacter(*Velocity, OverrideXY, OverrideZ); + } + + void Crouch(ACharacter* Character) { + Character->Crouch(); + } + + void StopCrouching(ACharacter* Character) { + Character->UnCrouch(); + } + + void Jump(ACharacter* Character) { + Character->Jump(); + } + + void StopJumping(ACharacter* Character) { + Character->StopJumping(); + } + + void SetOnLandedCallback(ACharacter* Character, CharacterLandedDelegate Callback) { + UUnrealCLRCharacter* character = NewObject(Character); + + character->LandedCallback = (void*)Callback; + + Character->LandedDelegate.AddDynamic(character, &UUnrealCLRCharacter::Landed); + } + } + + namespace Controller { + bool IsLookInputIgnored(AController* Controller) { + return Controller->IsLookInputIgnored(); + } + + bool IsMoveInputIgnored(AController* Controller) { + return Controller->IsMoveInputIgnored(); + } + + bool IsPlayerController(AController* Controller) { + return Controller->IsPlayerController(); + } + + APawn* GetPawn(AController* Controller) { + return Controller->GetPawn(); + } + + ACharacter* GetCharacter(AController* Controller) { + return Controller->GetCharacter(); + } + + AActor* GetViewTarget(AController* Controller) { + return Controller->GetViewTarget(); + } + + void GetControlRotation(AController* Controller, Quaternion* Value) { + *Value = Controller->GetControlRotation().Quaternion(); + } + + void GetDesiredRotation(AController* Controller, Quaternion* Value) { + *Value = Controller->GetDesiredRotation().Quaternion(); + } + + bool LineOfSightTo(AController* Controller, AActor* Actor, const Vector3* ViewPoint, bool AlternateChecks) { + return Controller->LineOfSightTo(Actor, *ViewPoint, AlternateChecks); + } + + void SetControlRotation(AController* Controller, const Quaternion* Value) { + Controller->SetControlRotation(FRotator(*Value)); + } + + void SetInitialLocationAndRotation(AController* Controller, const Vector3* NewLocation, const Quaternion* NewRotation) { + Controller->SetInitialLocationAndRotation(*NewLocation, FRotator(*NewRotation)); + } + + void SetIgnoreLookInput(AController* Controller, bool Value) { + Controller->SetIgnoreLookInput(Value); + } + + void SetIgnoreMoveInput(AController* Controller, bool Value) { + Controller->SetIgnoreMoveInput(Value); + } + + void ResetIgnoreLookInput(AController* Controller) { + Controller->ResetIgnoreLookInput(); + } + + void ResetIgnoreMoveInput(AController* Controller) { + Controller->ResetIgnoreMoveInput(); + } + + void Possess(AController* Controller, APawn* Pawn) { + Controller->Possess(Pawn); + } + + void Unpossess(AController* Controller) { + Controller->UnPossess(); + } + } + + namespace AIController { + void ClearFocus(AAIController* AIController, AIFocusPriority Priority) { + AIController->ClearFocus(static_cast(Priority)); + } + + void GetFocalPoint(AAIController* AIController, Vector3* Value) { + *Value = AIController->GetFocalPoint(); + } + + void SetFocalPoint(AAIController* AIController, const Vector3* NewFocus, AIFocusPriority Priority) { + AIController->SetFocalPoint(*NewFocus, static_cast(Priority)); + } + + AActor* GetFocusActor(AAIController* AIController) { + return AIController->GetFocusActor(); + } + + bool GetAllowStrafe(AAIController* AIController) { + return AIController->bAllowStrafe; + } + + void SetAllowStrafe(AAIController* AIController, bool Value) { + AIController->bAllowStrafe = Value; + } + + void SetFocus(AAIController* AIController, AActor* NewFocus, AIFocusPriority Priority) { + AIController->SetFocus(NewFocus, static_cast(Priority)); + } + } + + namespace PlayerController { + bool IsPaused(APlayerController* PlayerController) { + return PlayerController->IsPaused(); + } + + bool GetShowMouseCursor(APlayerController* PlayerController) { + return PlayerController->bShowMouseCursor; + } + + bool GetEnableClickEvents(APlayerController* PlayerController) { + return PlayerController->bEnableClickEvents; + } + + bool GetEnableMouseOverEvents(APlayerController* PlayerController) { + return PlayerController->bEnableMouseOverEvents; + } + + bool GetMousePosition(APlayerController* PlayerController, float* X, float* Y) { + return PlayerController->GetMousePosition(*X, *Y); + } + + UPlayer* GetPlayer(APlayerController* PlayerController) { + return PlayerController->Player; + } + + UPlayerInput* GetPlayerInput(APlayerController* PlayerController) { + return PlayerController->PlayerInput; + } + + bool GetHitResultAtScreenPosition(APlayerController* PlayerController, const Vector2* ScreenPosition, CollisionChannel TraceChannel, Hit* Hit, bool TraceComplex) { + FHitResult hit; + + bool result = PlayerController->GetHitResultAtScreenPosition(*ScreenPosition, TraceChannel, TraceComplex, hit); + + *Hit = hit; + + return result; + } + + bool GetHitResultUnderCursor(APlayerController* PlayerController, CollisionChannel TraceChannel, Hit* Hit, bool TraceComplex) { + FHitResult hit; + + bool result = PlayerController->GetHitResultUnderCursor(TraceChannel, TraceComplex, hit); + + *Hit = hit; + + return result; + } + + void SetShowMouseCursor(APlayerController* PlayerController, bool Value) { + PlayerController->bShowMouseCursor = Value; + } + + void SetEnableClickEvents(APlayerController* PlayerController, bool Value) { + PlayerController->bEnableClickEvents = Value; + } + + void SetEnableMouseOverEvents(APlayerController* PlayerController, bool Value) { + PlayerController->bEnableMouseOverEvents = Value; + } + + void SetMousePosition(APlayerController* PlayerController, float X, float Y) { + PlayerController->SetMouseLocation(static_cast(X), static_cast(Y)); + } + + void ConsoleCommand(APlayerController* PlayerController, const char* Command, bool WriteToLog) { + PlayerController->ConsoleCommand(FString(ANSI_TO_TCHAR(Command)), WriteToLog); + } + + bool SetPause(APlayerController* PlayerController, bool Value) { + return PlayerController->SetPause(Value); + } + + void SetViewTarget(APlayerController* PlayerController, AActor* NewViewTarget) { + PlayerController->SetViewTarget(NewViewTarget); + } + + void SetViewTargetWithBlend(APlayerController* PlayerController, AActor* NewViewTarget, float Time, float Exponent, BlendType Type, bool LockOutgoing) { + PlayerController->SetViewTargetWithBlend(NewViewTarget, Time, Type, Exponent, LockOutgoing); + } + + void AddYawInput(APlayerController* PlayerController, float Value) { + PlayerController->AddYawInput(Value); + } + + void AddPitchInput(APlayerController* PlayerController, float Value) { + PlayerController->AddPitchInput(Value); + } + + void AddRollInput(APlayerController* PlayerController, float Value) { + PlayerController->AddRollInput(Value); + } + } + + namespace Volume { + bool EncompassesPoint(AVolume* Volume, const Vector3* Point, float SphereRadius, float* DistanceToPoint) { + return Volume->EncompassesPoint(*Point, SphereRadius, DistanceToPoint); + } + } + + namespace PostProcessVolume { + bool GetEnabled(APostProcessVolume* PostProcessVolume) { + return PostProcessVolume->bEnabled; + } + + float GetBlendRadius(APostProcessVolume* PostProcessVolume) { + return PostProcessVolume->BlendRadius; + } + + float GetBlendWeight(APostProcessVolume* PostProcessVolume) { + return PostProcessVolume->BlendWeight; + } + + bool GetUnbound(APostProcessVolume* PostProcessVolume) { + return PostProcessVolume->bUnbound; + } + + float GetPriority(APostProcessVolume* PostProcessVolume) { + return PostProcessVolume->Priority; + } + + void SetEnabled(APostProcessVolume* PostProcessVolume, bool Value) { + PostProcessVolume->bEnabled = Value; + } + + void SetBlendRadius(APostProcessVolume* PostProcessVolume, float Value) { + PostProcessVolume->BlendRadius = Value; + } + + void SetBlendWeight(APostProcessVolume* PostProcessVolume, float Value) { + PostProcessVolume->BlendWeight = Value; + } + + void SetUnbound(APostProcessVolume* PostProcessVolume, bool Value) { + PostProcessVolume->bUnbound = Value; + } + + void SetPriority(APostProcessVolume* PostProcessVolume, float Priority) { + PostProcessVolume->Priority = Priority; + } + } + + namespace SoundBase { + float GetDuration(USoundBase* SoundBase) { + return SoundBase->Duration; + } + } + + namespace SoundWave { + bool GetLoop(USoundWave* SoundWave) { + return SoundWave->bLooping; + } + + void SetLoop(USoundWave* SoundWave, bool Value) { + SoundWave->bLooping = Value; + } + } + + namespace AnimationInstance { + UAnimMontage* GetCurrentActiveMontage(UAnimInstance* AnimationInstance) { + return AnimationInstance->GetCurrentActiveMontage(); + } + + bool IsPlaying(UAnimInstance* AnimationInstance, UAnimMontage* Montage) { + return AnimationInstance->Montage_IsPlaying(Montage); + } + + float GetPlayRate(UAnimInstance* AnimationInstance, UAnimMontage* Montage) { + return AnimationInstance->Montage_GetPlayRate(Montage); + } + + float GetPosition(UAnimInstance* AnimationInstance, UAnimMontage* Montage) { + return AnimationInstance->Montage_GetPosition(Montage); + } + + float GetBlendTime(UAnimInstance* AnimationInstance, UAnimMontage* Montage) { + return AnimationInstance->Montage_GetBlendTime(Montage); + } + + void GetCurrentSection(UAnimInstance* AnimationInstance, UAnimMontage* Montage, char* SectionName) { + const char* sectionName = TCHAR_TO_ANSI(*AnimationInstance->Montage_GetCurrentSection(Montage).ToString()); + + UnrealCLR::Utility::Strcpy(SectionName, sectionName, UnrealCLR::Utility::Strlen(sectionName)); + } + + void SetPlayRate(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float Value) { + AnimationInstance->Montage_SetPlayRate(Montage, Value); + } + + void SetPosition(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float Position) { + AnimationInstance->Montage_SetPosition(Montage, Position); + } + + void SetNextSection(UAnimInstance* AnimationInstance, UAnimMontage* Montage, const char* SectionToChange, const char* NextSection) { + AnimationInstance->Montage_SetNextSection(FName(ANSI_TO_TCHAR(SectionToChange)), FName(ANSI_TO_TCHAR(NextSection)), Montage); + } + + float PlayMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float PlayRate, float TimeToStartMontageAt, bool StopAllMontages) { + return AnimationInstance->Montage_Play(Montage, PlayRate, EMontagePlayReturnType::MontageLength, TimeToStartMontageAt, StopAllMontages); + } + + void PauseMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage) { + AnimationInstance->Montage_Pause(Montage); + } + + void ResumeMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage) { + AnimationInstance->Montage_Resume(Montage); + } + + void StopMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float BlendOutTime) { + AnimationInstance->Montage_Stop(BlendOutTime, Montage); + } + + void JumpToSection(UAnimInstance* AnimationInstance, UAnimMontage* Montage, const char* SectionName) { + AnimationInstance->Montage_JumpToSection(FName(ANSI_TO_TCHAR(SectionName)), Montage); + } + + void JumpToSectionsEnd(UAnimInstance* AnimationInstance, UAnimMontage* Montage, const char* SectionName) { + AnimationInstance->Montage_JumpToSectionsEnd(FName(ANSI_TO_TCHAR(SectionName)), Montage); + } + } + + namespace Player { + APlayerController* GetPlayerController(UPlayer* Player) { + return Player->GetPlayerController(UnrealCLR::Engine::World); + } + } + + namespace PlayerInput { + bool IsKeyPressed(UPlayerInput* PlayerInput, const char* Key) { + return PlayerInput->IsPressed(FKey(ANSI_TO_TCHAR(Key))); + } + + float GetTimeKeyPressed(UPlayerInput* PlayerInput, const char* Key) { + return PlayerInput->GetTimeDown(FKey(ANSI_TO_TCHAR(Key))); + } + + void GetMouseSensitivity(UPlayerInput* PlayerInput, Vector2* Value) { + Value->X = PlayerInput->GetMouseSensitivityX(); + Value->Y = PlayerInput->GetMouseSensitivityY(); + } + + void SetMouseSensitivity(UPlayerInput* PlayerInput, const Vector2* Value) { + PlayerInput->SetMouseSensitivity(Value->X, Value->Y); + } + + void AddActionMapping(UPlayerInput* PlayerInput, const char* ActionName, const char* Key, bool Shift, bool Ctrl, bool Alt, bool Cmd) { + PlayerInput->AddActionMapping(FInputActionKeyMapping(FName(ANSI_TO_TCHAR(ActionName)), FKey(ANSI_TO_TCHAR(Key)), Shift, Ctrl, Alt, Cmd)); + } + + void AddAxisMapping(UPlayerInput* PlayerInput, const char* AxisName, const char* Key, float Scale) { + PlayerInput->AddAxisMapping(FInputAxisKeyMapping(FName(ANSI_TO_TCHAR(AxisName)), FKey(ANSI_TO_TCHAR(Key)), Scale)); + } + + void RemoveActionMapping(UPlayerInput* PlayerInput, const char* ActionName, const char* Key) { + PlayerInput->RemoveActionMapping(FInputActionKeyMapping(FName(ANSI_TO_TCHAR(ActionName)), FKey(ANSI_TO_TCHAR(Key)))); + } + + void RemoveAxisMapping(UPlayerInput* PlayerInput, const char* AxisName, const char* Key) { + PlayerInput->RemoveAxisMapping(FInputAxisKeyMapping(FName(ANSI_TO_TCHAR(AxisName)), FKey(ANSI_TO_TCHAR(Key)))); + } + } + + namespace Font { + void GetStringSize(UFont* Font, const char* Text, int32* Height, int32* Width) { + int32 height, width; + + Font->GetStringHeightAndWidth(ANSI_TO_TCHAR(Text), height, width); + + *Height = height; + *Width = width; + } + } + + namespace Texture2D { + UTexture2D* CreateFromFile(const char* FilePath) { + return FImageUtils::ImportFileAsTexture2D(FString(ANSI_TO_TCHAR(FilePath))); + } + + UTexture2D* CreateFromBuffer(const uint8* Buffer, int32 Length) { + return FImageUtils::ImportBufferAsTexture2D(TArray(Buffer, Length)); + } + + bool HasAlphaChannel(UTexture2D* Texture2D) { + return Texture2D->HasAlphaChannel(); + } + + void GetSize(UTexture2D* Texture2D, Vector2* Value) { + Value->X = Texture2D->GetSizeX(); + Value->Y = Texture2D->GetSizeY(); + } + + PixelFormat GetPixelFormat(UTexture2D* Texture2D) { + return Texture2D->GetPixelFormat(); + } + } + + namespace ActorComponent { + bool IsOwnerSelected(UActorComponent* ActorComponent) { + return ActorComponent->IsOwnerSelected(); + } + + AActor* GetOwner(UActorComponent* ActorComponent, ActorType Type) { + AActor* actor = nullptr; + + UNREALCLR_GET_ACTOR_TYPE(Type, Cast<, >(ActorComponent->GetOwner()), actor); + + return actor; + } + + void Destroy(UActorComponent* ActorComponent, bool PromoteChild) { + ActorComponent->DestroyComponent(PromoteChild); + } + + void AddTag(UActorComponent* ActorComponent, const char* Tag) { + ActorComponent->ComponentTags.AddUnique(FName(ANSI_TO_TCHAR(Tag))); + } + + void RemoveTag(UActorComponent* ActorComponent, const char* Tag) { + ActorComponent->ComponentTags.Remove(FName(ANSI_TO_TCHAR(Tag))); + } + + bool HasTag(UActorComponent* ActorComponent, const char* Tag) { + return ActorComponent->ComponentHasTag(FName(ANSI_TO_TCHAR(Tag))); + } + } + + namespace InputComponent { + bool HasBindings(UInputComponent* InputComponent) { + return InputComponent->HasBindings(); + } + + int32 GetActionBindingsNumber(UInputComponent* InputComponent) { + return InputComponent->GetNumActionBindings(); + } + + void ClearActionBindings(UInputComponent* InputComponent) { + InputComponent->ClearActionBindings(); + } + + void BindAction(UInputComponent* InputComponent, const char* ActionName, InputEvent KeyEvent, bool ExecutedWhenPaused, InputDelegate Callback) { + FInputActionBinding actionBinding(FName(ANSI_TO_TCHAR(ActionName)), KeyEvent); + + actionBinding.bExecuteWhenPaused = ExecutedWhenPaused; + actionBinding.ActionDelegate.GetDelegateForManualSet().BindLambda([Callback]() { + UnrealCLR::ManagedCommand(UnrealCLR::Command((void*)Callback)); + }); + + InputComponent->AddActionBinding(actionBinding); + } + + void BindAxis(UInputComponent* InputComponent, const char* AxisName, bool ExecutedWhenPaused, InputAxisDelegate Callback) { + FInputAxisBinding axisBinding(FName(ANSI_TO_TCHAR(AxisName))); + + axisBinding.bExecuteWhenPaused = ExecutedWhenPaused; + axisBinding.AxisDelegate.GetDelegateForManualSet().BindLambda([Callback](float AxisValue) { + UnrealCLR::ManagedCommand(UnrealCLR::Command((void*)Callback, AxisValue)); + }); + + InputComponent->AxisBindings.Emplace(axisBinding); + } + + void RemoveActionBinding(UInputComponent* InputComponent, const char* ActionName, InputEvent KeyEvent) { + InputComponent->RemoveActionBinding(FName(ANSI_TO_TCHAR(ActionName)), KeyEvent); + } + + bool GetBlockInput(UInputComponent* InputComponent) { + return InputComponent->bBlockInput; + } + + void SetBlockInput(UInputComponent* InputComponent, bool Value) { + InputComponent->bBlockInput = Value; + } + + int32 GetPriority(UInputComponent* InputComponent) { + return InputComponent->Priority; + } + + void SetPriority(UInputComponent* InputComponent, int32 Value) { + InputComponent->Priority = Value; + } + } + + namespace SceneComponent { + bool IsAttachedToComponent(USceneComponent* SceneComponent, USceneComponent* Component) { + return SceneComponent->IsAttachedTo(Component); + } + + bool IsAttachedToActor(USceneComponent* SceneComponent, AActor* Actor) { + USceneComponent* Component = SceneComponent; + + while (Component) { + if (Component->GetOwner() == Actor) + return true; + + Component = Component->GetAttachParent(); + } + + return false; + } + + bool IsVisible(USceneComponent* SceneComponent) { + return SceneComponent->IsVisible(); + } + + bool IsSocketExists(USceneComponent* SceneComponent, const char* SocketName) { + return SceneComponent->DoesSocketExist(FName(ANSI_TO_TCHAR(SocketName))); + } + + bool HasAnySockets(USceneComponent* SceneComponent) { + return SceneComponent->HasAnySockets(); + } + + bool CanAttachAsChild(USceneComponent* SceneComponent, USceneComponent* ChildComponent, const char* SocketName) { + return SceneComponent->CanAttachAsChild(ChildComponent, FName(ANSI_TO_TCHAR(SocketName))); + } + + void ForEachAttachedChild(USceneComponent* SceneComponent, USceneComponent** Array, int32* Elements) { + static TArray attachedComponents; + + attachedComponents.Reset(); + + attachedComponents = SceneComponent->GetAttachChildren(); + + int32 elements = attachedComponents.Num(); + + if (elements > 0) { + *Array = reinterpret_cast(attachedComponents.GetData()); + *Elements = elements; + } + } + + USceneComponent* Create(AActor* Actor, ComponentType Type, const char* Name, bool SetAsRoot, UObject* Blueprint) { + USceneComponent* component = nullptr; + + if (!Blueprint) { + UNREALCLR_GET_ATTACHABLE_COMPONENT_TYPE(Type, NewObject<, >(Actor), component); + } else { + #if !WITH_EDITOR + UNREALCLR_GET_ATTACHABLE_COMPONENT_TYPE(Type, NewObject<, >(Actor, Cast(Blueprint)), component); + #else + UNREALCLR_GET_ATTACHABLE_COMPONENT_TYPE(Type, NewObject<, >(Actor, Cast(Blueprint)->GeneratedClass), component); + #endif + } + + if (component) { + USceneComponent* rootComponent = Actor->GetRootComponent(); + + if (!rootComponent || SetAsRoot) + Actor->SetRootComponent(component); + else + component->AttachToComponent(rootComponent, FAttachmentTransformRules::KeepRelativeTransform); + + Actor->AddInstanceComponent(component); + component->OnComponentCreated(); + component->RegisterComponent(); + + if (Name) + component->Rename(*FString(ANSI_TO_TCHAR(Name))); + } + + return component; + } + + bool AttachToComponent(USceneComponent* SceneComponent, USceneComponent* Parent, AttachmentTransformRule AttachmentRule, const char* SocketName) { + FAttachmentTransformRules attachmentRules = FAttachmentTransformRules::KeepRelativeTransform; + FName socketName; + + UNREALCLR_GET_ATTACHMENT_RULE(AttachmentRule, attachmentRules); + + if (SocketName) + socketName = FName(ANSI_TO_TCHAR(SocketName)); + + return SceneComponent->AttachToComponent(Parent, attachmentRules, socketName); + } + + void DetachFromComponent(USceneComponent* SceneComponent, DetachmentTransformRule DetachmentRule) { + FDetachmentTransformRules detachmentRules = FDetachmentTransformRules::KeepRelativeTransform; + + UNREALCLR_GET_DETACHMENT_RULE(DetachmentRule, detachmentRules); + + SceneComponent->DetachFromComponent(detachmentRules); + } + + void Activate(USceneComponent* SceneComponent) { + SceneComponent->Activate(); + } + + void Deactivate(USceneComponent* SceneComponent) { + SceneComponent->Deactivate(); + } + + void UpdateToWorld(USceneComponent* SceneComponent, TeleportType Type, UpdateTransformFlags Flags) { + SceneComponent->UpdateComponentToWorld(static_cast(Flags), Type); + } + + void AddLocalOffset(USceneComponent* SceneComponent, const Vector3* DeltaLocation) { + SceneComponent->AddLocalOffset(*DeltaLocation); + } + + void AddLocalRotation(USceneComponent* SceneComponent, const Quaternion* DeltaRotation) { + SceneComponent->AddLocalRotation(*DeltaRotation); + } + + void AddRelativeLocation(USceneComponent* SceneComponent, const Vector3* DeltaLocation) { + SceneComponent->AddRelativeLocation(*DeltaLocation); + } + + void AddRelativeRotation(USceneComponent* SceneComponent, const Quaternion* DeltaRotation) { + SceneComponent->AddRelativeRotation(*DeltaRotation); + } + + void AddLocalTransform(USceneComponent* SceneComponent, const Transform* DeltaTransform) { + SceneComponent->AddLocalTransform(*DeltaTransform); + } + + void AddWorldOffset(USceneComponent* SceneComponent, const Vector3* DeltaLocation) { + SceneComponent->AddWorldOffset(*DeltaLocation); + } + + void AddWorldRotation(USceneComponent* SceneComponent, const Quaternion* DeltaRotation) { + SceneComponent->AddWorldRotation(*DeltaRotation); + } + + void AddWorldTransform(USceneComponent* SceneComponent, const Transform* DeltaTransform) { + SceneComponent->AddWorldTransform(*DeltaTransform); + } + + void GetAttachedSocketName(USceneComponent* SceneComponent, char* SocketName) { + const char* socketName = TCHAR_TO_ANSI(*SceneComponent->GetAttachSocketName().ToString()); + + UnrealCLR::Utility::Strcpy(SocketName, socketName, UnrealCLR::Utility::Strlen(socketName)); + } + + void GetBounds(USceneComponent* SceneComponent, const Transform* LocalToWorld, Bounds* Value) { + *Value = SceneComponent->CalcBounds(*LocalToWorld); + } + + void GetSocketLocation(USceneComponent* SceneComponent, const char* SocketName, Vector3* Value) { + *Value = SceneComponent->GetSocketLocation(FName(ANSI_TO_TCHAR(SocketName))); + } + + void GetSocketRotation(USceneComponent* SceneComponent, const char* SocketName, Quaternion* Value) { + *Value = SceneComponent->GetSocketQuaternion(FName(ANSI_TO_TCHAR(SocketName))); + } + + void GetComponentVelocity(USceneComponent* SceneComponent, Vector3* Value) { + *Value = SceneComponent->GetComponentVelocity(); + } + + void GetComponentLocation(USceneComponent* SceneComponent, Vector3* Value) { + *Value = SceneComponent->GetComponentLocation(); + } + + void GetComponentRotation(USceneComponent* SceneComponent, Quaternion* Value) { + *Value = SceneComponent->GetComponentQuat(); + } + + void GetComponentScale(USceneComponent* SceneComponent, Vector3* Value) { + *Value = SceneComponent->GetComponentScale(); + } + + void GetComponentTransform(USceneComponent* SceneComponent, Transform* Value) { + *Value = SceneComponent->GetComponentTransform(); + } + + void GetForwardVector(USceneComponent* SceneComponent, Vector3* Value) { + *Value = SceneComponent->GetForwardVector(); + } + + void GetRightVector(USceneComponent* SceneComponent, Vector3* Value) { + *Value = SceneComponent->GetRightVector(); + } + + void GetUpVector(USceneComponent* SceneComponent, Vector3* Value) { + *Value = SceneComponent->GetUpVector(); + } + + void SetMobility(USceneComponent* SceneComponent, ComponentMobility Mobility) { + SceneComponent->SetMobility(Mobility); + } + + void SetVisibility(USceneComponent* SceneComponent, bool NewVisibility, bool PropagateToChildren) { + SceneComponent->SetVisibility(NewVisibility, PropagateToChildren); + } + + void SetRelativeLocation(USceneComponent* SceneComponent, const Vector3* Location) { + SceneComponent->SetRelativeLocation(*Location); + } + + void SetRelativeRotation(USceneComponent* SceneComponent, const Quaternion* Rotation) { + SceneComponent->SetRelativeRotation(*Rotation); + } + + void SetRelativeTransform(USceneComponent* SceneComponent, const Transform* Transform) { + SceneComponent->SetRelativeTransform(*Transform); + } + + void SetWorldLocation(USceneComponent* SceneComponent, const Vector3* Location) { + SceneComponent->SetWorldLocation(*Location); + } + + void SetWorldRotation(USceneComponent* SceneComponent, const Quaternion* Rotation) { + SceneComponent->SetWorldRotation(*Rotation); + } + + void SetWorldScale(USceneComponent* SceneComponent, const Vector3* Scale) { + SceneComponent->SetWorldScale3D(*Scale); + } + + void SetWorldTransform(USceneComponent* SceneComponent, const Transform* Transform) { + SceneComponent->SetWorldTransform(*Transform); + } + } + + namespace AudioComponent { + bool IsPlaying(UAudioComponent* AudioComponent) { + return AudioComponent->IsPlaying(); + } + + bool GetPaused(UAudioComponent* AudioComponent) { + return AudioComponent->bIsPaused; + } + + void SetSound(UAudioComponent* AudioComponent, USoundBase* Sound) { + AudioComponent->SetSound(Sound); + } + + void SetPaused(UAudioComponent* AudioComponent, bool Value) { + AudioComponent->SetPaused(Value); + } + + void Play(UAudioComponent* AudioComponent) { + AudioComponent->Play(); + } + + void Stop(UAudioComponent* AudioComponent) { + AudioComponent->Stop(); + } + + void FadeIn(UAudioComponent* AudioComponent, float Duration, float VolumeLevel, float StartTime, AudioFadeCurve FadeCurve) { + AudioComponent->FadeIn(Duration, VolumeLevel, StartTime, FadeCurve); + } + + void FadeOut(UAudioComponent* AudioComponent, float Duration, float VolumeLevel, AudioFadeCurve FadeCurve) { + AudioComponent->FadeOut(Duration, VolumeLevel, FadeCurve); + } + } + + namespace CameraComponent { + bool GetConstrainAspectRatio(UCameraComponent* CameraComponent) { + return CameraComponent->bConstrainAspectRatio; + } + + float GetAspectRatio(UCameraComponent* CameraComponent) { + return CameraComponent->AspectRatio; + } + + float GetFieldOfView(UCameraComponent* CameraComponent) { + return CameraComponent->FieldOfView; + } + + float GetOrthoFarClipPlane(UCameraComponent* CameraComponent) { + return CameraComponent->OrthoFarClipPlane; + } + + float GetOrthoNearClipPlane(UCameraComponent* CameraComponent) { + return CameraComponent->OrthoNearClipPlane; + } + + float GetOrthoWidth(UCameraComponent* CameraComponent) { + return CameraComponent->OrthoWidth; + } + + bool GetLockToHeadMountedDisplay(UCameraComponent* CameraComponent) { + return CameraComponent->bLockToHmd; + } + + void SetProjectionMode(UCameraComponent* CameraComponent, CameraProjectionMode Mode) { + CameraComponent->SetProjectionMode(Mode); + } + + void SetConstrainAspectRatio(UCameraComponent* CameraComponent, bool Value) { + CameraComponent->bConstrainAspectRatio = Value; + } + + void SetAspectRatio(UCameraComponent* CameraComponent, float Value) { + CameraComponent->AspectRatio = Value; + } + + void SetFieldOfView(UCameraComponent* CameraComponent, float Value) { + CameraComponent->FieldOfView = Value; + } + + void SetOrthoFarClipPlane(UCameraComponent* CameraComponent, float Value) { + CameraComponent->OrthoFarClipPlane = Value; + } + + void SetOrthoNearClipPlane(UCameraComponent* CameraComponent, float Value) { + CameraComponent->OrthoNearClipPlane = Value; + } + + void SetOrthoWidth(UCameraComponent* CameraComponent, float Value) { + CameraComponent->OrthoWidth = Value; + } + + void SetLockToHeadMountedDisplay(UCameraComponent* CameraComponent, bool Value) { + CameraComponent->bLockToHmd = Value; + } + } + + namespace ChildActorComponent { + AActor* GetChildActor(UChildActorComponent* ChildActorComponent, ActorType Type) { + AActor* actor = nullptr; + + UNREALCLR_GET_ACTOR_TYPE(Type, Cast<, >(ChildActorComponent->GetChildActor()), actor); + + return actor; + } + + AActor* SetChildActor(UChildActorComponent* ChildActorComponent, ActorType Type) { + TSubclassOf type; + + UNREALCLR_GET_ACTOR_TYPE(Type, UNREALCLR_NONE, ::StaticClass(), type); + + ChildActorComponent->SetChildActorClass(type); + + return ChildActorComponent->GetChildActor(); + } + } + + namespace SpringArmComponent { + bool IsCollisionFixApplied(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->IsCollisionFixApplied(); + } + + bool GetDrawDebugLagMarkers(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->bDrawDebugLagMarkers; + } + + bool GetCollisionTest(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->bDoCollisionTest; + } + + bool GetCameraPositionLag(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->bEnableCameraLag; + } + + bool GetCameraRotationLag(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->bEnableCameraRotationLag; + } + + bool GetCameraLagSubstepping(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->bUseCameraLagSubstepping; + } + + bool GetInheritPitch(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->bInheritPitch; + } + + bool GetInheritRoll(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->bInheritRoll; + } + + bool GetInheritYaw(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->bInheritYaw; + } + + float GetCameraLagMaxDistance(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->CameraLagMaxDistance; + } + + float GetCameraLagMaxTimeStep(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->CameraLagMaxTimeStep; + } + + float GetCameraPositionLagSpeed(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->CameraLagSpeed; + } + + float GetCameraRotationLagSpeed(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->CameraRotationLagSpeed; + } + + CollisionChannel GetProbeChannel(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->ProbeChannel; + } + + float GetProbeSize(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->ProbeSize; + } + + void GetSocketOffset(USpringArmComponent* SpringArmComponent, Vector3* Value) { + *Value = SpringArmComponent->SocketOffset; + } + + float GetTargetArmLength(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->TargetArmLength; + } + + void GetTargetOffset(USpringArmComponent* SpringArmComponent, Vector3* Value) { + *Value = SpringArmComponent->TargetOffset; + } + + void GetUnfixedCameraPosition(USpringArmComponent* SpringArmComponent, Vector3* Value) { + *Value = SpringArmComponent->GetUnfixedCameraPosition(); + } + + void GetDesiredRotation(USpringArmComponent* SpringArmComponent, Quaternion* Value) { + *Value = SpringArmComponent->GetDesiredRotation().Quaternion(); + } + + void GetTargetRotation(USpringArmComponent* SpringArmComponent, Quaternion* Value) { + *Value = SpringArmComponent->GetTargetRotation().Quaternion(); + } + + bool GetUsePawnControlRotation(USpringArmComponent* SpringArmComponent) { + return SpringArmComponent->bUsePawnControlRotation; + } + + void SetDrawDebugLagMarkers(USpringArmComponent* SpringArmComponent, bool Value) { + SpringArmComponent->bDrawDebugLagMarkers = Value; + } + + void SetCollisionTest(USpringArmComponent* SpringArmComponent, bool Value) { + SpringArmComponent->bDoCollisionTest = Value; + } + + void SetCameraPositionLag(USpringArmComponent* SpringArmComponent, bool Value) { + SpringArmComponent->bEnableCameraLag = Value; + } + + void SetCameraRotationLag(USpringArmComponent* SpringArmComponent, bool Value) { + SpringArmComponent->bEnableCameraRotationLag = Value; + } + + void SetCameraLagSubstepping(USpringArmComponent* SpringArmComponent, bool Value) { + SpringArmComponent->bUseCameraLagSubstepping = Value; + } + + void SetInheritPitch(USpringArmComponent* SpringArmComponent, bool Value) { + SpringArmComponent->bInheritPitch = Value; + } + + void SetInheritRoll(USpringArmComponent* SpringArmComponent, bool Value) { + SpringArmComponent->bInheritRoll = Value; + } + + void SetInheritYaw(USpringArmComponent* SpringArmComponent, bool Value) { + SpringArmComponent->bInheritYaw = Value; + } + + void SetCameraLagMaxDistance(USpringArmComponent* SpringArmComponent, float Value) { + SpringArmComponent->CameraLagMaxDistance = Value; + } + + void SetCameraLagMaxTimeStep(USpringArmComponent* SpringArmComponent, float Value) { + SpringArmComponent->CameraLagMaxTimeStep = Value; + } + + void SetCameraPositionLagSpeed(USpringArmComponent* SpringArmComponent, float Value) { + SpringArmComponent->CameraLagSpeed = Value; + } + + void SetCameraRotationLagSpeed(USpringArmComponent* SpringArmComponent, float Value) { + SpringArmComponent->CameraRotationLagSpeed = Value; + } + + void SetProbeChannel(USpringArmComponent* SpringArmComponent, CollisionChannel Value) { + SpringArmComponent->ProbeChannel = Value; + } + + void SetProbeSize(USpringArmComponent* SpringArmComponent, float Value) { + SpringArmComponent->ProbeSize = Value; + } + + void SetSocketOffset(USpringArmComponent* SpringArmComponent, const Vector3* Value) { + SpringArmComponent->SocketOffset = *Value; + } + + void SetTargetArmLength(USpringArmComponent* SpringArmComponent, float Value) { + SpringArmComponent->TargetArmLength = Value; + } + + void SetTargetOffset(USpringArmComponent* SpringArmComponent, const Vector3* Value) { + SpringArmComponent->TargetOffset = *Value; + } + + void SetUsePawnControlRotation(USpringArmComponent* SpringArmComponent, bool value) { + SpringArmComponent->bUsePawnControlRotation = value; + } + } + + namespace PostProcessComponent { + bool GetEnabled(UPostProcessComponent* PostProcessComponent) { + return PostProcessComponent->bEnabled; + } + + float GetBlendRadius(UPostProcessComponent* PostProcessComponent) { + return PostProcessComponent->BlendRadius; + } + + float GetBlendWeight(UPostProcessComponent* PostProcessComponent) { + return PostProcessComponent->BlendWeight; + } + + bool GetUnbound(UPostProcessComponent* PostProcessComponent) { + return PostProcessComponent->bUnbound; + } + + float GetPriority(UPostProcessComponent* PostProcessComponent) { + return PostProcessComponent->Priority; + } + + void SetEnabled(UPostProcessComponent* PostProcessComponent, bool Value) { + PostProcessComponent->bEnabled = Value; + } + + void SetBlendRadius(UPostProcessComponent* PostProcessComponent, float Value) { + PostProcessComponent->BlendRadius = Value; + } + + void SetBlendWeight(UPostProcessComponent* PostProcessComponent, float Value) { + PostProcessComponent->BlendWeight = Value; + } + + void SetUnbound(UPostProcessComponent* PostProcessComponent, bool Value) { + PostProcessComponent->bUnbound = Value; + } + + void SetPriority(UPostProcessComponent* PostProcessComponent, float Priority) { + PostProcessComponent->Priority = Priority; + } + } + + namespace PrimitiveComponent { + bool IsGravityEnabled(UPrimitiveComponent* PrimitiveComponent) { + return PrimitiveComponent->IsGravityEnabled(); + } + + bool IsOverlappingComponent(UPrimitiveComponent* PrimitiveComponent, UPrimitiveComponent* Other) { + return PrimitiveComponent->IsOverlappingComponent(Other); + } + + void ForEachOverlappingComponent(UPrimitiveComponent* PrimitiveComponent, UPrimitiveComponent** Array, int32* Elements) { + static TArray overlappingComponents; + + overlappingComponents.Reset(); + + PrimitiveComponent->GetOverlappingComponents(overlappingComponents); + + int32 elements = overlappingComponents.Num(); + + if (elements > 0) { + *Array = reinterpret_cast(overlappingComponents.GetData()); + *Elements = elements; + } + } + + void AddAngularImpulseInDegrees(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const char* BoneName, bool VelocityChange) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->AddAngularImpulseInDegrees(*Impulse, boneName, VelocityChange); + } + + void AddAngularImpulseInRadians(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const char* BoneName, bool VelocityChange) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->AddAngularImpulseInRadians(*Impulse, boneName, VelocityChange); + } + + void AddForce(UPrimitiveComponent* PrimitiveComponent, const Vector3* Force, const char* BoneName, bool AccelerationChange) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->AddForce(*Force, boneName, AccelerationChange); + } + + void AddForceAtLocation(UPrimitiveComponent* PrimitiveComponent, const Vector3* Force, const Vector3* Location, const char* BoneName, bool LocalSpace) { + UNREALCLR_SET_BONE_NAME(BoneName); + + if (!LocalSpace) + PrimitiveComponent->AddForceAtLocation(*Force, *Location, boneName); + else + PrimitiveComponent->AddForceAtLocationLocal(*Force, *Location, boneName); + } + + void AddImpulse(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const char* BoneName, bool VelocityChange) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->AddImpulse(*Impulse, boneName, VelocityChange); + } + + void AddImpulseAtLocation(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const Vector3* Location, const char* BoneName) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->AddImpulseAtLocation(*Impulse, *Location, boneName); + } + + void AddRadialForce(UPrimitiveComponent* PrimitiveComponent, const Vector3* Origin, float Radius, float Strength, bool LinearFalloff, bool AccelerationChange) { + PrimitiveComponent->AddRadialForce(*Origin, Radius, Strength, LinearFalloff ? ERadialImpulseFalloff::RIF_Linear : ERadialImpulseFalloff::RIF_Constant, AccelerationChange); + } + + void AddRadialImpulse(UPrimitiveComponent* PrimitiveComponent, const Vector3* Origin, float Radius, float Strength, bool LinearFalloff, bool AccelerationChange) { + PrimitiveComponent->AddRadialImpulse(*Origin, Radius, Strength, LinearFalloff ? ERadialImpulseFalloff::RIF_Linear : ERadialImpulseFalloff::RIF_Constant, AccelerationChange); + } + + void AddTorqueInDegrees(UPrimitiveComponent* PrimitiveComponent, const Vector3* Torque, const char* BoneName, bool AccelerationChange) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->AddTorqueInDegrees(*Torque, boneName, AccelerationChange); + } + + void AddTorqueInRadians(UPrimitiveComponent* PrimitiveComponent, const Vector3* Torque, const char* BoneName, bool AccelerationChange) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->AddTorqueInRadians(*Torque, boneName, AccelerationChange); + } + + float GetMass(UPrimitiveComponent* PrimitiveComponent) { + return PrimitiveComponent->GetMass(); + } + + void GetPhysicsLinearVelocity(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const char* BoneName) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->GetPhysicsLinearVelocity(boneName); + } + + void GetPhysicsLinearVelocityAtPoint(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const Vector3* Point, const char* BoneName) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->GetPhysicsLinearVelocityAtPoint(*Point, boneName); + } + + void GetPhysicsAngularVelocityInDegrees(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const char* BoneName) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->GetPhysicsAngularVelocityInDegrees(boneName); + } + + void GetPhysicsAngularVelocityInRadians(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const char* BoneName) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->GetPhysicsAngularVelocityInRadians(boneName); + } + + bool GetCastShadow(UPrimitiveComponent* PrimitiveComponent) { + return PrimitiveComponent->CastShadow; + } + + bool GetOnlyOwnerSee(UPrimitiveComponent* PrimitiveComponent) { + return PrimitiveComponent->bOnlyOwnerSee; + } + + bool GetOwnerNoSee(UPrimitiveComponent* PrimitiveComponent) { + return PrimitiveComponent->bOwnerNoSee; + } + + bool GetIgnoreRadialForce(UPrimitiveComponent* PrimitiveComponent) { + return PrimitiveComponent->bIgnoreRadialForce; + } + + bool GetIgnoreRadialImpulse(UPrimitiveComponent* PrimitiveComponent) { + return PrimitiveComponent->bIgnoreRadialImpulse; + } + + UMaterialInstanceDynamic* GetMaterial(UPrimitiveComponent* PrimitiveComponent, int32 ElementIndex) { + return Cast(PrimitiveComponent->GetMaterial(ElementIndex)); + } + + int32 GetMaterialsNumber(UPrimitiveComponent* PrimitiveComponent) { + return PrimitiveComponent->GetNumMaterials(); + } + + float GetDistanceToCollision(UPrimitiveComponent* PrimitiveComponent, const Vector3* Point, Vector3* ClosestPointOnCollision) { + FVector closestPointOnCollision; + + float result = PrimitiveComponent->GetDistanceToCollision(*Point, closestPointOnCollision); + + *ClosestPointOnCollision = closestPointOnCollision; + + return result; + } + + bool GetSquaredDistanceToCollision(UPrimitiveComponent* PrimitiveComponent, const Vector3* Point, float* SquaredDistance, Vector3* ClosestPointOnCollision) { + FVector closestPointOnCollision; + float squaredDistance = 0.0f; + + bool result = PrimitiveComponent->GetSquaredDistanceToCollision(*Point, squaredDistance, closestPointOnCollision); + + *SquaredDistance = squaredDistance; + *ClosestPointOnCollision = closestPointOnCollision; + + return result; + } + + float GetAngularDamping(UPrimitiveComponent* PrimitiveComponent) { + return PrimitiveComponent->GetAngularDamping(); + } + + float GetLinearDamping(UPrimitiveComponent* PrimitiveComponent) { + return PrimitiveComponent->GetLinearDamping(); + } + + void SetGenerateOverlapEvents(UPrimitiveComponent* PrimitiveComponent, bool Value) { + PrimitiveComponent->SetGenerateOverlapEvents(Value); + } + + void SetGenerateHitEvents(UPrimitiveComponent* PrimitiveComponent, bool Value) { + PrimitiveComponent->SetNotifyRigidBodyCollision(Value); + } + + void SetMass(UPrimitiveComponent* PrimitiveComponent, float Mass, const char* BoneName) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->SetMassOverrideInKg(boneName, Mass); + } + + void SetCenterOfMass(UPrimitiveComponent* PrimitiveComponent, const Vector3* Offset, const char* BoneName) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->SetCenterOfMass(*Offset, boneName); + } + + void SetPhysicsLinearVelocity(UPrimitiveComponent* PrimitiveComponent, const Vector3* Velocity, bool AddToCurrent, const char* BoneName) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->SetPhysicsLinearVelocity(*Velocity, AddToCurrent, boneName); + } + + void SetPhysicsAngularVelocityInDegrees(UPrimitiveComponent* PrimitiveComponent, const Vector3* AngularVelocity, bool AddToCurrent, const char* BoneName) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->SetPhysicsAngularVelocityInDegrees(*AngularVelocity, AddToCurrent, boneName); + } + + void SetPhysicsAngularVelocityInRadians(UPrimitiveComponent* PrimitiveComponent, const Vector3* AngularVelocity, bool AddToCurrent, const char* BoneName) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->SetPhysicsAngularVelocityInRadians(*AngularVelocity, AddToCurrent, boneName); + } + + void SetPhysicsMaxAngularVelocityInDegrees(UPrimitiveComponent* PrimitiveComponent, float MaxAngularVelocity, bool AddToCurrent, const char* BoneName) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->SetPhysicsMaxAngularVelocityInDegrees(MaxAngularVelocity, AddToCurrent, boneName); + } + + void SetPhysicsMaxAngularVelocityInRadians(UPrimitiveComponent* PrimitiveComponent, float MaxAngularVelocity, bool AddToCurrent, const char* BoneName) { + UNREALCLR_SET_BONE_NAME(BoneName); + + PrimitiveComponent->SetPhysicsMaxAngularVelocityInRadians(MaxAngularVelocity, AddToCurrent, boneName); + } + + void SetCastShadow(UPrimitiveComponent* PrimitiveComponent, bool Value) { + PrimitiveComponent->CastShadow = Value; + } + + void SetOnlyOwnerSee(UPrimitiveComponent* PrimitiveComponent, bool Value) { + PrimitiveComponent->bOnlyOwnerSee = Value; + } + + void SetOwnerNoSee(UPrimitiveComponent* PrimitiveComponent, bool Value) { + PrimitiveComponent->bOwnerNoSee = Value; + } + + void SetIgnoreRadialForce(UPrimitiveComponent* PrimitiveComponent, bool Value) { + PrimitiveComponent->bIgnoreRadialForce = Value; + } + + void SetIgnoreRadialImpulse(UPrimitiveComponent* PrimitiveComponent, bool Value) { + PrimitiveComponent->bIgnoreRadialImpulse = Value; + } + + void SetMaterial(UPrimitiveComponent* PrimitiveComponent, int32 ElementIndex, UMaterialInterface* Material) { + PrimitiveComponent->SetMaterial(ElementIndex, Material); + } + + void SetSimulatePhysics(UPrimitiveComponent* PrimitiveComponent, bool Value) { + PrimitiveComponent->SetSimulatePhysics(Value); + } + + void SetAngularDamping(UPrimitiveComponent* PrimitiveComponent, float Value) { + PrimitiveComponent->SetAngularDamping(Value); + } + + void SetLinearDamping(UPrimitiveComponent* PrimitiveComponent, float Value) { + PrimitiveComponent->SetLinearDamping(Value); + } + + void SetEnableGravity(UPrimitiveComponent* PrimitiveComponent, bool Value) { + PrimitiveComponent->SetEnableGravity(Value); + } + + void SetCollisionMode(UPrimitiveComponent* PrimitiveComponent, CollisionMode Mode) { + PrimitiveComponent->SetCollisionEnabled(Mode); + } + + void SetCollisionChannel(UPrimitiveComponent* PrimitiveComponent, CollisionChannel Channel) { + PrimitiveComponent->SetCollisionObjectType(Channel); + } + + void SetCollisionProfileName(UPrimitiveComponent* PrimitiveComponent, const char* ProfileName, bool UpdateOverlaps) { + PrimitiveComponent->SetCollisionProfileName(FName(ANSI_TO_TCHAR(ProfileName)), UpdateOverlaps); + } + + void SetCollisionResponseToChannel(UPrimitiveComponent* PrimitiveComponent, CollisionChannel Channel, CollisionResponse Response) { + PrimitiveComponent->SetCollisionResponseToChannel(Channel, Response); + } + + void SetCollisionResponseToAllChannels(UPrimitiveComponent* PrimitiveComponent, CollisionResponse Response) { + PrimitiveComponent->SetCollisionResponseToAllChannels(Response); + } + + void SetIgnoreActorWhenMoving(UPrimitiveComponent* PrimitiveComponent, AActor* Actor, bool Value) { + PrimitiveComponent->IgnoreActorWhenMoving(Actor, Value); + } + + void SetIgnoreComponentWhenMoving(UPrimitiveComponent* PrimitiveComponent, UPrimitiveComponent* Component, bool Value) { + PrimitiveComponent->IgnoreComponentWhenMoving(Component, Value); + } + + void ClearMoveIgnoreActors(UPrimitiveComponent* PrimitiveComponent) { + PrimitiveComponent->ClearMoveIgnoreActors(); + } + + void ClearMoveIgnoreComponents(UPrimitiveComponent* PrimitiveComponent) { + PrimitiveComponent->ClearMoveIgnoreComponents(); + } + + UMaterialInstanceDynamic* CreateAndSetMaterialInstanceDynamic(UPrimitiveComponent* PrimitiveComponent, int32 ElementIndex) { + return PrimitiveComponent->CreateAndSetMaterialInstanceDynamic(ElementIndex); + } + + void RegisterEvent(UPrimitiveComponent* PrimitiveComponent, ComponentEventType Type) { + UNREALCLR_SET_COMPONENT_EVENT(Type, !, AddDynamic); + } + + void UnregisterEvent(UPrimitiveComponent* PrimitiveComponent, ComponentEventType Type) { + UNREALCLR_SET_COMPONENT_EVENT(Type, UNREALCLR_NONE, RemoveDynamic); + } + } + + namespace ShapeComponent { + bool GetDynamicObstacle(UShapeComponent* ShapeComponent) { + return ShapeComponent->bDynamicObstacle; + } + + int32 GetShapeColor(UShapeComponent* ShapeComponent) { + return UNREALCLR_COLOR_TO_INTEGER(ShapeComponent->ShapeColor); + } + + void SetDynamicObstacle(UShapeComponent* ShapeComponent, bool Value) { + ShapeComponent->bDynamicObstacle = Value; + } + + void SetShapeColor(UShapeComponent* ShapeComponent, Color Value) { + ShapeComponent->ShapeColor = Value; + } + } + + namespace BoxComponent { + void GetScaledBoxExtent(UBoxComponent* BoxComponent, Vector3* Value) { + *Value = BoxComponent->GetScaledBoxExtent(); + } + + void GetUnscaledBoxExtent(UBoxComponent* BoxComponent, Vector3* Value) { + *Value = BoxComponent->GetUnscaledBoxExtent(); + } + + void SetBoxExtent(UBoxComponent* BoxComponent, const Vector3* Extent, bool UpdateOverlaps) { + BoxComponent->SetBoxExtent(*Extent, UpdateOverlaps); + } + + void InitBoxExtent(UBoxComponent* BoxComponent, const Vector3* Extent) { + BoxComponent->InitBoxExtent(*Extent); + } + } + + namespace SphereComponent { + float GetScaledSphereRadius(USphereComponent* SphereComponent) { + return SphereComponent->GetScaledSphereRadius(); + } + + float GetUnscaledSphereRadius(USphereComponent* SphereComponent) { + return SphereComponent->GetUnscaledSphereRadius(); + } + + float GetShapeScale(USphereComponent* SphereComponent) { + return SphereComponent->GetShapeScale(); + } + + void SetSphereRadius(USphereComponent* SphereComponent, float SphereRadius, bool UpdateOverlaps) { + SphereComponent->SetSphereRadius(SphereRadius, UpdateOverlaps); + } + + void InitSphereRadius(USphereComponent* SphereComponent, float SphereRadius) { + SphereComponent->InitSphereRadius(SphereRadius); + } + } + + namespace CapsuleComponent { + float GetScaledCapsuleRadius(UCapsuleComponent* CapsuleComponent) { + return CapsuleComponent->GetScaledCapsuleRadius(); + } + + float GetUnscaledCapsuleRadius(UCapsuleComponent* CapsuleComponent) { + return CapsuleComponent->GetUnscaledCapsuleRadius(); + } + + float GetShapeScale(UCapsuleComponent* CapsuleComponent) { + return CapsuleComponent->GetShapeScale(); + } + + void GetScaledCapsuleSize(UCapsuleComponent* CapsuleComponent, float* Radius, float* HalfHeight) { + CapsuleComponent->GetScaledCapsuleSize(*Radius, *HalfHeight); + } + + void GetUnscaledCapsuleSize(UCapsuleComponent* CapsuleComponent, float* Radius, float* HalfHeight) { + CapsuleComponent->GetUnscaledCapsuleSize(*Radius, *HalfHeight); + } + + void SetCapsuleRadius(UCapsuleComponent* CapsuleComponent, float Radius, bool UpdateOverlaps) { + CapsuleComponent->SetCapsuleRadius(Radius, UpdateOverlaps); + } + + void SetCapsuleSize(UCapsuleComponent* CapsuleComponent, float Radius, float HalfHeight, bool UpdateOverlaps) { + CapsuleComponent->SetCapsuleSize(Radius, HalfHeight, UpdateOverlaps); + } + + void InitCapsuleSize(UCapsuleComponent* CapsuleComponent, float Radius, float HalfHeight) { + CapsuleComponent->InitCapsuleSize(Radius, HalfHeight); + } + } + + namespace MeshComponent { + bool IsValidMaterialSlotName(UMeshComponent* MeshComponent, const char* MaterialSlotName) { + return MeshComponent->IsMaterialSlotNameValid(FName(ANSI_TO_TCHAR(MaterialSlotName))); + } + + int32 GetMaterialIndex(UMeshComponent* MeshComponent, const char* MaterialSlotName) { + return MeshComponent->GetMaterialIndex(FName(ANSI_TO_TCHAR(MaterialSlotName))); + } + } + + namespace TextRenderComponent { + void SetFont(UTextRenderComponent* TextRenderComponent, UFont* Value) { + TextRenderComponent->SetFont(Value); + } + + void SetText(UTextRenderComponent* TextRenderComponent, const char* Value) { + TextRenderComponent->SetText(FText::FromString(FString(ANSI_TO_TCHAR(Value)))); + } + + void SetTextMaterial(UTextRenderComponent* TextRenderComponent, UMaterialInterface* Material) { + TextRenderComponent->SetTextMaterial(Material); + } + + void SetTextRenderColor(UTextRenderComponent* TextRenderComponent, Color Value) { + TextRenderComponent->SetTextRenderColor(Value); + } + + void SetHorizontalAlignment(UTextRenderComponent* TextRenderComponent, HorizontalTextAligment Value) { + TextRenderComponent->SetHorizontalAlignment(Value); + } + + void SetHorizontalSpacingAdjustment(UTextRenderComponent* TextRenderComponent, float Value) { + TextRenderComponent->SetHorizSpacingAdjust(Value); + } + + void SetVerticalAlignment(UTextRenderComponent* TextRenderComponent, VerticalTextAligment Value) { + TextRenderComponent->SetVerticalAlignment(Value); + } + + void SetVerticalSpacingAdjustment(UTextRenderComponent* TextRenderComponent, float Value) { + TextRenderComponent->SetVertSpacingAdjust(Value); + } + + void SetScale(UTextRenderComponent* TextRenderComponent, const Vector2* Value) { + TextRenderComponent->SetXScale(Value->X); + TextRenderComponent->SetYScale(Value->Y); + } + + void SetWorldSize(UTextRenderComponent* TextRenderComponent, float Value) { + TextRenderComponent->SetWorldSize(Value); + } + } + + namespace LightComponentBase { + float GetIntensity(ULightComponentBase* LightComponentBase) { + return LightComponentBase->Intensity; + } + + bool GetCastShadows(ULightComponentBase* LightComponentBase) { + return LightComponentBase->CastShadows; + } + + void SetCastShadows(ULightComponentBase* LightComponentBase, bool Value) { + LightComponentBase->SetCastShadows(Value); + } + } + + namespace LightComponent { + void SetIntensity(ULightComponent* LightComponent, float Value) { + LightComponent->SetIntensity(Value); + } + + void SetLightColor(ULightComponent* LightComponent, const LinearColor* Value) { + LightComponent->SetLightColor(*Value); + } + } + + namespace MotionControllerComponent { + bool IsTracked(UMotionControllerComponent* MotionControllerComponent) { + return MotionControllerComponent->IsTracked(); + } + + bool GetDisplayDeviceModel(UMotionControllerComponent* MotionControllerComponent) { + return MotionControllerComponent->bDisplayDeviceModel; + } + + bool GetDisableLowLatencyUpdate(UMotionControllerComponent* MotionControllerComponent) { + return MotionControllerComponent->bDisableLowLatencyUpdate; + } + + ControllerHand GetTrackingSource(UMotionControllerComponent* MotionControllerComponent) { + return MotionControllerComponent->GetTrackingSource(); + } + + void SetDisplayDeviceModel(UMotionControllerComponent* MotionControllerComponent, bool Value) { + MotionControllerComponent->bDisplayDeviceModel = true; + } + + void SetDisableLowLatencyUpdate(UMotionControllerComponent* MotionControllerComponent, bool Value) { + MotionControllerComponent->bDisableLowLatencyUpdate = Value; + } + + void SetTrackingSource(UMotionControllerComponent* MotionControllerComponent, ControllerHand Value) { + MotionControllerComponent->SetTrackingSource(Value); + } + + void SetTrackingMotionSource(UMotionControllerComponent* MotionControllerComponent, const char* Source) { + MotionControllerComponent->SetTrackingMotionSource(FName(ANSI_TO_TCHAR(Source))); + } + + void SetAssociatedPlayerIndex(UMotionControllerComponent* MotionControllerComponent, int32 PlayerIndex) { + MotionControllerComponent->SetAssociatedPlayerIndex(PlayerIndex); + } + + void SetCustomDisplayMesh(UMotionControllerComponent* MotionControllerComponent, UStaticMesh* StaticMesh) { + MotionControllerComponent->SetCustomDisplayMesh(StaticMesh); + } + + void SetDisplayModelSource(UMotionControllerComponent* MotionControllerComponent, const char* Source) { + MotionControllerComponent->SetDisplayModelSource(FName(ANSI_TO_TCHAR(Source))); + } + } + + namespace StaticMeshComponent { + void GetLocalBounds(UStaticMeshComponent* StaticMeshComponent, Vector3* Min, Vector3* Max) { + FVector min, max; + + StaticMeshComponent->GetLocalBounds(min, max); + + *Min = min; + *Max = max; + } + + UStaticMesh* GetStaticMesh(UStaticMeshComponent* StaticMeshComponent) { + return StaticMeshComponent->GetStaticMesh(); + } + + bool SetStaticMesh(UStaticMeshComponent* StaticMeshComponent, UStaticMesh* StaticMesh) { + return StaticMeshComponent->SetStaticMesh(StaticMesh); + } + } + + namespace InstancedStaticMeshComponent { + int32 GetInstanceCount(UInstancedStaticMeshComponent* InstancedStaticMeshComponent) { + return InstancedStaticMeshComponent->GetInstanceCount(); + } + + bool GetInstanceTransform(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 InstanceIndex, Transform* Value, bool WorldSpace) { + FTransform transform; + + bool result = InstancedStaticMeshComponent->GetInstanceTransform(InstanceIndex, transform, WorldSpace); + + if (result) + *Value = transform; + + return result; + } + + void AddInstance(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, const Transform* InstanceTransform) { + InstancedStaticMeshComponent->AddInstance(*InstanceTransform); + } + + void AddInstances(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 EndInstanceIndex, const Transform InstanceTransforms[]) { + static TArray instanceTransforms; + + instanceTransforms.Reserve(EndInstanceIndex + 1); + instanceTransforms.Reset(); + + for (int32 i = 0; i < EndInstanceIndex; i++) { + instanceTransforms.Add(InstanceTransforms[i]); + } + +// InstancedStaticMeshComponent->AddInstances(instanceTransforms, false); + } + + bool UpdateInstanceTransform(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 InstanceIndex, const Transform* InstanceTransform, bool WorldSpace, bool MarkRenderStateDirty, bool Teleport) { + return InstancedStaticMeshComponent->UpdateInstanceTransform(InstanceIndex, *InstanceTransform, WorldSpace, MarkRenderStateDirty, Teleport); + } + + bool BatchUpdateInstanceTransforms(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 StartInstanceIndex, int32 EndInstanceIndex, const Transform InstanceTransforms[], bool WorldSpace, bool MarkRenderStateDirty, bool Teleport) { + static TArray instanceTransforms; + + instanceTransforms.Reserve(EndInstanceIndex + 1); + instanceTransforms.Reset(); + + for (int32 i = 0; i < EndInstanceIndex; i++) { + instanceTransforms.Add(InstanceTransforms[i]); + } + + return InstancedStaticMeshComponent->BatchUpdateInstancesTransforms(StartInstanceIndex, instanceTransforms, WorldSpace, MarkRenderStateDirty, Teleport); + } + + bool RemoveInstance(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 InstanceIndex) { + return InstancedStaticMeshComponent->RemoveInstance(InstanceIndex); + } + + void ClearInstances(UInstancedStaticMeshComponent* InstancedStaticMeshComponent) { + InstancedStaticMeshComponent->ClearInstances(); + } + } + + namespace HierarchicalInstancedStaticMeshComponent { + bool GetDisableCollision(UHierarchicalInstancedStaticMeshComponent* HierarchicalInstancedStaticMeshComponent) { + return HierarchicalInstancedStaticMeshComponent->bDisableCollision; + } + + void SetDisableCollision(UHierarchicalInstancedStaticMeshComponent* HierarchicalInstancedStaticMeshComponent, bool Value) { + HierarchicalInstancedStaticMeshComponent->bDisableCollision = Value; + } + } + + namespace SkinnedMeshComponent { + int32 GetBonesNumber(USkinnedMeshComponent* SkinnedMeshComponent) { + return SkinnedMeshComponent->GetNumBones(); + } + + int32 GetBoneIndex(USkinnedMeshComponent* SkinnedMeshComponent, const char* BoneName) { + return SkinnedMeshComponent->GetBoneIndex(FName(ANSI_TO_TCHAR(BoneName))); + } + + void GetBoneName(USkinnedMeshComponent* SkinnedMeshComponent, int32 BoneIndex, char* BoneName) { + const char* boneName = TCHAR_TO_ANSI(*SkinnedMeshComponent->GetBoneName(BoneIndex).ToString()); + + UnrealCLR::Utility::Strcpy(BoneName, boneName, UnrealCLR::Utility::Strlen(boneName)); + } + + void GetBoneTransform(USkinnedMeshComponent* SkinnedMeshComponent, int32 BoneIndex, Transform* Value) { + *Value = SkinnedMeshComponent->GetBoneTransform(BoneIndex); + } + + void SetSkeletalMesh(USkinnedMeshComponent* SkinnedMeshComponent, USkeletalMesh* SkeletalMesh, bool ReinitializePose) { + SkinnedMeshComponent->SetSkeletalMesh(SkeletalMesh, ReinitializePose); + } + } + + namespace SkeletalMeshComponent { + bool IsPlaying(USkeletalMeshComponent* SkeletalMeshComponent) { + return SkeletalMeshComponent->IsPlaying(); + } + + UAnimInstance* GetAnimationInstance(USkeletalMeshComponent* SkeletalMeshComponent) { + return SkeletalMeshComponent->GetAnimInstance(); + } + + void SetAnimation(USkeletalMeshComponent* SkeletalMeshComponent, UAnimationAsset* Asset) { + SkeletalMeshComponent->SetAnimation(Asset); + } + + void SetAnimationMode(USkeletalMeshComponent* SkeletalMeshComponent, AnimationMode Mode) { + SkeletalMeshComponent->SetAnimationMode(Mode); + } + + void SetAnimationBlueprint(USkeletalMeshComponent* SkeletalMeshComponent, UObject* Blueprint) { + #if !WITH_EDITOR + SkeletalMeshComponent->SetAnimInstanceClass(Cast(Blueprint)); + #else + SkeletalMeshComponent->SetAnimInstanceClass(Cast(Blueprint)->GeneratedClass); + #endif + } + + void Play(USkeletalMeshComponent* SkeletalMeshComponent, bool Loop) { + SkeletalMeshComponent->Play(Loop); + } + + void PlayAnimation(USkeletalMeshComponent* SkeletalMeshComponent, UAnimationAsset* Asset, bool Loop) { + SkeletalMeshComponent->PlayAnimation(Asset, Loop); + } + + void Stop(USkeletalMeshComponent* SkeletalMeshComponent) { + SkeletalMeshComponent->Stop(); + } + } + + namespace SplineComponent { + bool IsClosedLoop(USplineComponent* SplineComponent) { + return SplineComponent->IsClosedLoop(); + } + + float GetDuration(USplineComponent* SplineComponent) { + return SplineComponent->Duration; + } + + SplinePointType GetSplinePointType(USplineComponent* SplineComponent, int32 PointIndex) { + return SplineComponent->GetSplinePointType(PointIndex); + } + + int32 GetSplinePointsNumber(USplineComponent* SplineComponent) { + return SplineComponent->GetNumberOfSplinePoints(); + } + + int32 GetSplineSegmentsNumber(USplineComponent* SplineComponent) { + return SplineComponent->GetNumberOfSplineSegments(); + } + + void GetTangentAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetTangentAtDistanceAlongSpline(Distance, CoordinateSpace); + } + + void GetTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetTangentAtSplinePoint(PointIndex, CoordinateSpace); + } + + void GetTangentAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value) { + *Value = SplineComponent->GetTangentAtTime(Time, CoordinateSpace, UseConstantVelocity); + } + + void GetTransformAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Transform* Value) { + *Value = SplineComponent->GetTransformAtDistanceAlongSpline(Distance, CoordinateSpace); + } + + void GetTransformAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, bool UseScale, Transform* Value) { + *Value = SplineComponent->GetTransformAtSplinePoint(PointIndex, CoordinateSpace, UseScale); + } + + void GetArriveTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetArriveTangentAtSplinePoint(PointIndex, CoordinateSpace); + } + + void GetDefaultUpVector(USplineComponent* SplineComponent, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetDefaultUpVector(CoordinateSpace); + } + + void GetDirectionAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetDirectionAtDistanceAlongSpline(Distance, CoordinateSpace); + } + + void GetDirectionAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetDirectionAtSplinePoint(PointIndex, CoordinateSpace); + } + + void GetDirectionAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value) { + *Value = SplineComponent->GetDirectionAtTime(Time, CoordinateSpace, UseConstantVelocity); + } + + float GetDistanceAlongSplineAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex) { + return SplineComponent->GetDistanceAlongSplineAtSplinePoint(PointIndex); + } + + void GetLeaveTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetLeaveTangentAtSplinePoint(PointIndex, CoordinateSpace); + } + + void GetLocationAndTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Location, Vector3* Tangent) { + FVector location, tangent; + + SplineComponent->GetLocationAndTangentAtSplinePoint(PointIndex, location, tangent, CoordinateSpace); + + *Location = location; + *Tangent = tangent; + } + + void GetLocationAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetLocationAtDistanceAlongSpline(Distance, CoordinateSpace); + } + + void GetLocationAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetLocationAtSplinePoint(PointIndex, CoordinateSpace); + } + + void GetLocationAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetLocationAtTime(Time, CoordinateSpace); + } + + void GetRightVectorAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetRightVectorAtDistanceAlongSpline(Distance, CoordinateSpace); + } + + void GetRightVectorAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetRightVectorAtSplinePoint(PointIndex, CoordinateSpace); + } + + void GetRightVectorAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value) { + *Value = SplineComponent->GetRightVectorAtTime(Time, CoordinateSpace, UseConstantVelocity); + } + + float GetRollAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace) { + return SplineComponent->GetRollAtDistanceAlongSpline(Distance, CoordinateSpace); + } + + float GetRollAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace) { + return SplineComponent->GetRollAtSplinePoint(PointIndex, CoordinateSpace); + } + + float GetRollAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity) { + return SplineComponent->GetRollAtTime(Time, CoordinateSpace, UseConstantVelocity); + } + + void GetRotationAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Quaternion* Value) { + *Value = SplineComponent->GetRotationAtDistanceAlongSpline(Distance, CoordinateSpace).Quaternion(); + } + + void GetRotationAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Quaternion* Value) { + *Value = SplineComponent->GetRotationAtSplinePoint(PointIndex, CoordinateSpace).Quaternion(); + } + + void GetRotationAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Quaternion* Value) { + *Value = SplineComponent->GetRotationAtTime(Time, CoordinateSpace, UseConstantVelocity).Quaternion(); + } + + void GetScaleAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, Vector3* Value) { + *Value = SplineComponent->GetScaleAtDistanceAlongSpline(Distance); + } + + void GetScaleAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, Vector3* Value) { + *Value = SplineComponent->GetScaleAtSplinePoint(PointIndex); + } + + void GetScaleAtTime(USplineComponent* SplineComponent, float Time, bool UseConstantVelocity, Vector3* Value) { + *Value = SplineComponent->GetScaleAtTime(Time, UseConstantVelocity); + } + + float GetSplineLength(USplineComponent* SplineComponent) { + return SplineComponent->GetSplineLength(); + } + + void GetTransformAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, bool UseScale, Transform* Value) { + *Value = SplineComponent->GetTransformAtTime(Time, CoordinateSpace, UseConstantVelocity, UseScale); + } + + void GetUpVectorAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetUpVectorAtDistanceAlongSpline(Distance, CoordinateSpace); + } + + void GetUpVectorAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->GetUpVectorAtSplinePoint(PointIndex, CoordinateSpace); + } + + void GetUpVectorAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value) { + *Value = SplineComponent->GetUpVectorAtTime(Time, CoordinateSpace, UseConstantVelocity); + } + + void SetDuration(USplineComponent* SplineComponent, float Value) { + SplineComponent->Duration = Value; + } + + void SetSplinePointType(USplineComponent* SplineComponent, int32 PointIndex, SplinePointType Type, bool UpdateSpline) { + SplineComponent->SetSplinePointType(PointIndex, Type, UpdateSpline); + } + + void SetClosedLoop(USplineComponent* SplineComponent, bool Value, bool UpdateSpline) { + SplineComponent->SetClosedLoop(Value, UpdateSpline); + } + + void SetDefaultUpVector(USplineComponent* SplineComponent, const Vector3* Value, SplineCoordinateSpace CoordinateSpace) { + SplineComponent->SetDefaultUpVector(*Value, CoordinateSpace); + } + + void SetLocationAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* Value, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline) { + SplineComponent->SetLocationAtSplinePoint(PointIndex, *Value, CoordinateSpace, UpdateSpline); + } + + void SetTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* Tangent, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline) { + SplineComponent->SetTangentAtSplinePoint(PointIndex, *Tangent, CoordinateSpace, UpdateSpline); + } + + void SetTangentsAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* ArriveTangent, const Vector3* LeaveTangent, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline) { + SplineComponent->SetTangentsAtSplinePoint(PointIndex, *ArriveTangent, *LeaveTangent, CoordinateSpace, UpdateSpline); + } + + void SetUpVectorAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* UpVector, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline) { + SplineComponent->SetUpVectorAtSplinePoint(PointIndex, *UpVector, CoordinateSpace, UpdateSpline); + } + + void AddSplinePoint(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline) { + SplineComponent->AddSplinePoint(*Location, CoordinateSpace, UpdateSpline); + } + + void AddSplinePointAtIndex(USplineComponent* SplineComponent, const Vector3* Location, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline) { + SplineComponent->AddSplinePointAtIndex(*Location, PointIndex, CoordinateSpace, UpdateSpline); + } + + void ClearSplinePoints(USplineComponent* SplineComponent, bool UpdateSpline) { + SplineComponent->ClearSplinePoints(UpdateSpline); + } + + void FindDirectionClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->FindDirectionClosestToWorldLocation(*Location, CoordinateSpace); + } + + void FindLocationClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->FindLocationClosestToWorldLocation(*Location, CoordinateSpace); + } + + void FindUpVectorClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->FindUpVectorClosestToWorldLocation(*Location, CoordinateSpace); + } + + void FindRightVectorClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->FindRightVectorClosestToWorldLocation(*Location, CoordinateSpace); + } + + float FindRollClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace) { + return SplineComponent->FindRollClosestToWorldLocation(*Location, CoordinateSpace); + } + + void FindScaleClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, Vector3* Value) { + *Value = SplineComponent->FindScaleClosestToWorldLocation(*Location); + } + + void FindTangentClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value) { + *Value = SplineComponent->FindTangentClosestToWorldLocation(*Location, CoordinateSpace); + } + + void FindTransformClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, bool UseScale, Transform* Value) { + *Value = SplineComponent->FindTransformClosestToWorldLocation(*Location, CoordinateSpace, UseScale); + } + + void RemoveSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, bool UpdateSpline) { + SplineComponent->RemoveSplinePoint(PointIndex, UpdateSpline); + } + + void UpdateSpline(USplineComponent* SplineComponent) { + SplineComponent->UpdateSpline(); + } + } + + namespace RadialForceComponent { + bool GetIgnoreOwningActor(URadialForceComponent* RadialForceComponent) { + return RadialForceComponent->bIgnoreOwningActor; + } + + bool GetImpulseVelocityChange(URadialForceComponent* RadialForceComponent) { + return RadialForceComponent->bImpulseVelChange; + } + + bool GetLinearFalloff(URadialForceComponent* RadialForceComponent) { + return RadialForceComponent->Falloff == ERadialImpulseFalloff::RIF_Linear; + } + + float GetForceStrength(URadialForceComponent* RadialForceComponent) { + return RadialForceComponent->ForceStrength; + } + + float GetImpulseStrength(URadialForceComponent* RadialForceComponent) { + return RadialForceComponent->ImpulseStrength; + } + + float GetRadius(URadialForceComponent* RadialForceComponent) { + return RadialForceComponent->Radius; + } + + void SetIgnoreOwningActor(URadialForceComponent* RadialForceComponent, bool Value) { + RadialForceComponent->bIgnoreOwningActor = Value; + } + + void SetImpulseVelocityChange(URadialForceComponent* RadialForceComponent, bool Value) { + RadialForceComponent->bImpulseVelChange = Value; + } + + void SetLinearFalloff(URadialForceComponent* RadialForceComponent, bool Value) { + RadialForceComponent->Falloff = Value ? ERadialImpulseFalloff::RIF_Linear : ERadialImpulseFalloff::RIF_Constant; + } + + void SetForceStrength(URadialForceComponent* RadialForceComponent, float Value) { + RadialForceComponent->ForceStrength = Value; + } + + void SetImpulseStrength(URadialForceComponent* RadialForceComponent, float Value) { + RadialForceComponent->ImpulseStrength = Value; + } + + void SetRadius(URadialForceComponent* RadialForceComponent, float Value) { + RadialForceComponent->Radius = Value; + } + + void AddCollisionChannelToAffect(URadialForceComponent* RadialForceComponent, CollisionChannel Channel) { + RadialForceComponent->AddCollisionChannelToAffect(Channel); + } + + void FireImpulse(URadialForceComponent* RadialForceComponent) { + RadialForceComponent->FireImpulse(); + } + } + + namespace MaterialInterface { + bool IsTwoSided(UMaterialInterface* MaterialInterface) { + return MaterialInterface->IsTwoSided(); + } + } + + namespace Material { + bool IsDefaultMaterial(UMaterial* Material) { + return Material->IsDefaultMaterial(); + } + } + + namespace MaterialInstance { + bool IsChildOf(UMaterialInstance* MaterialInstance, UMaterialInterface* Material) { + return MaterialInstance->IsChildOf(Material); + } + + UMaterialInstanceDynamic* GetParent(UMaterialInstance* MaterialInstance) { + return UMaterialInstanceDynamic::Create(MaterialInstance->Parent, MaterialInstance); + } + } + + namespace MaterialInstanceDynamic { + void ClearParameterValues(UMaterialInstanceDynamic* MaterialInstanceDynamic) { + MaterialInstanceDynamic->ClearParameterValues(); + } + + void SetTextureParameterValue(UMaterialInstanceDynamic* MaterialInstanceDynamic, const char* ParameterName, UTexture* Value) { + MaterialInstanceDynamic->SetTextureParameterValue(FName(ANSI_TO_TCHAR(ParameterName)), Value); + } + + void SetVectorParameterValue(UMaterialInstanceDynamic* MaterialInstanceDynamic, const char* ParameterName, const LinearColor* Value) { + MaterialInstanceDynamic->SetVectorParameterValue(FName(ANSI_TO_TCHAR(ParameterName)), *Value); + } + + void SetScalarParameterValue(UMaterialInstanceDynamic* MaterialInstanceDynamic, const char* ParameterName, float Value) { + MaterialInstanceDynamic->SetScalarParameterValue(FName(ANSI_TO_TCHAR(ParameterName)), Value); + } + } +} diff --git a/Plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRLibrary.cpp b/Plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRLibrary.cpp new file mode 100644 index 00000000..b2985dfd --- /dev/null +++ b/Plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRLibrary.cpp @@ -0,0 +1,56 @@ +/* + * Unreal Engine .NET 5 integration + * Copyright (c) 2021 Stanislav Denisov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "UnrealCLRLibrary.h" + +FManagedFunction::FManagedFunction() : Pointer() { } + +UUnrealCLRLibrary::UUnrealCLRLibrary(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { } + +void UUnrealCLRLibrary::ExecuteManagedFunction(FManagedFunction ManagedFunction, UObject* Object = nullptr) { + if (UnrealCLR::Status == UnrealCLR::StatusType::Running && ManagedFunction.Pointer) + UnrealCLR::ManagedCommand(UnrealCLR::Command(ManagedFunction.Pointer, Object)); +} + +FManagedFunction UUnrealCLRLibrary::FindManagedFunction(FString Method, bool Optional, bool& Result) { + FManagedFunction managedFunction; + + if (UnrealCLR::Status == UnrealCLR::StatusType::Running && !Method.IsEmpty()) + managedFunction.Pointer = UnrealCLR::ManagedCommand(UnrealCLR::Command(TCHAR_TO_ANSI(*Method), Optional)); + + Result = managedFunction.Pointer != nullptr; + + return managedFunction; +} + +UUnrealCLRCharacter::UUnrealCLRCharacter(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { } + +void UUnrealCLRCharacter::Landed(const FHitResult& Hit) { + UnrealCLRFramework::Hit hit(Hit); + + void* parameters[1] = { + &hit + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(LandedCallback, UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::CharacterLandedDelegate))); +} \ No newline at end of file diff --git a/Plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRManager.cpp b/Plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRManager.cpp new file mode 100644 index 00000000..b2000c03 --- /dev/null +++ b/Plugins/UnrealCLR/Source/UnrealCLR/Private/UnrealCLRManager.cpp @@ -0,0 +1,192 @@ +/* + * Unreal Engine .NET 5 integration + * Copyright (c) 2021 Stanislav Denisov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "UnrealCLRManager.h" + +void UUnrealCLRManager::ActorBeginOverlap(AActor* OverlapActor, AActor* OtherActor) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginOverlap]) { + void* parameters[2] = { + OverlapActor, + OtherActor + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginOverlap], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorOverlapDelegate))); + } +} + +void UUnrealCLRManager::ActorEndOverlap(AActor* OverlapActor, AActor* OtherActor) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnActorEndOverlap]) { + void* parameters[2] = { + OverlapActor, + OtherActor + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorEndOverlap], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorOverlapDelegate))); + } +} + +void UUnrealCLRManager::ActorHit(AActor* HitActor, AActor* OtherActor, FVector NormalImpulse, const FHitResult& Hit) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnActorHit]) { + UnrealCLRFramework::Vector3 normalImpulse(NormalImpulse); + UnrealCLRFramework::Hit hit(Hit); + + void* parameters[4] = { + HitActor, + OtherActor, + &normalImpulse, + &hit + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorHit], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorHitDelegate))); + } +} + +void UUnrealCLRManager::ActorBeginCursorOver(AActor* Actor) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginCursorOver]) { + void* parameters[1] = { + Actor + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginCursorOver], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorCursorDelegate))); + } +} + +void UUnrealCLRManager::ActorEndCursorOver(AActor* Actor) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnActorEndCursorOver]) { + void* parameters[1] = { + Actor + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorEndCursorOver], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorCursorDelegate))); + } +} + +void UUnrealCLRManager::ActorClicked(AActor* Actor, FKey Key) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnActorClicked]) { + FString key = Key.ToString(); + + void* parameters[2] = { + Actor, + TCHAR_TO_ANSI(*key) + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorClicked], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorKeyDelegate))); + } +} + +void UUnrealCLRManager::ActorReleased(AActor* Actor, FKey Key) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnActorReleased]) { + FString key = Key.ToString(); + + void* parameters[2] = { + Actor, + TCHAR_TO_ANSI(*key) + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnActorReleased], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ActorKeyDelegate))); + } +} + +void UUnrealCLRManager::ComponentBeginOverlap(UPrimitiveComponent* OverlapComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, int32 OtherBodyIndex, bool FromSweep, const FHitResult& SweepResult) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnComponentBeginOverlap]) { + void* parameters[2] = { + OverlapComponent, + OtherComponent + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentBeginOverlap], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentOverlapDelegate))); + } +} + +void UUnrealCLRManager::ComponentEndOverlap(UPrimitiveComponent* OverlapComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, int32 OtherBodyIndex) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnComponentEndOverlap]) { + void* parameters[2] = { + OverlapComponent, + OtherComponent + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentEndOverlap], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentOverlapDelegate))); + } +} + +void UUnrealCLRManager::ComponentHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, FVector NormalImpulse, const FHitResult& Hit) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnComponentHit]) { + UnrealCLRFramework::Vector3 normalImpulse(NormalImpulse); + UnrealCLRFramework::Hit hit(Hit); + + void* parameters[4] = { + HitComponent, + OtherComponent, + &normalImpulse, + &hit + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentHit], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentHitDelegate))); + } +} + +void UUnrealCLRManager::ComponentBeginCursorOver(UPrimitiveComponent* Component) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnActorBeginCursorOver]) { + void* parameters[1] = { + Component + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentBeginCursorOver], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentCursorDelegate))); + } +} + +void UUnrealCLRManager::ComponentEndCursorOver(UPrimitiveComponent* Component) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnComponentEndCursorOver]) { + void* parameters[1] = { + Component + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentEndCursorOver], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentCursorDelegate))); + } +} + +void UUnrealCLRManager::ComponentClicked(UPrimitiveComponent* Component, FKey Key) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnComponentClicked]) { + FString key = Key.ToString(); + + void* parameters[2] = { + Component, + TCHAR_TO_ANSI(*key) + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentClicked], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentKeyDelegate))); + } +} + +void UUnrealCLRManager::ComponentReleased(UPrimitiveComponent* Component, FKey Key) { + if (UnrealCLR::Shared::Events[UnrealCLR::OnComponentReleased]) { + FString key = Key.ToString(); + + void* parameters[2] = { + Component, + TCHAR_TO_ANSI(*key) + }; + + UnrealCLR::ManagedCommand(UnrealCLR::Command(UnrealCLR::Shared::Events[UnrealCLR::OnComponentReleased], UnrealCLR::Callback(parameters, UnrealCLR::CallbackType::ComponentKeyDelegate))); + } +} \ No newline at end of file diff --git a/Plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLR.h b/Plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLR.h new file mode 100644 index 00000000..a9029ee2 --- /dev/null +++ b/Plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLR.h @@ -0,0 +1,406 @@ +/* + * Unreal Engine .NET 5 integration + * Copyright (c) 2021 Stanislav Denisov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#pragma once + +// @third party code - BEGIN CoreCLR +#include "../../Dependencies/CoreCLR/includes/coreclr_delegates.h" +#include "../../Dependencies/CoreCLR/includes/hostfxr.h" +// @third party code - END CoreCLR + +#include "AIController.h" +#include "Animation/AnimInstance.h" +#include "AssetRegistryModule.h" +#include "Camera/CameraActor.h" +#include "Camera/CameraComponent.h" +#include "Components/AudioComponent.h" +#include "Components/BoxComponent.h" +#include "Components/CapsuleComponent.h" +#include "Components/DirectionalLightComponent.h" +#include "Components/HierarchicalInstancedStaticMeshComponent.h" +#include "Components/InputComponent.h" +#include "Components/LightComponent.h" +#include "Components/LightComponentBase.h" +#include "Components/PostProcessComponent.h" +#include "Components/ShapeComponent.h" +#include "Components/SphereComponent.h" +#include "Components/SplineComponent.h" +#include "Components/TextRenderComponent.h" +#include "DrawDebugHelpers.h" +#include "Engine/DirectionalLight.h" +#include "Engine/Font.h" +#include "Engine/GameEngine.h" +#include "Engine/LevelScriptActor.h" +#include "Engine/Light.h" +#include "Engine/Player.h" +#include "Engine/PointLight.h" +#include "Engine/PostProcessVolume.h" +#include "Engine/RectLight.h" +#include "Engine/SpotLight.h" +#include "Engine/TriggerBox.h" +#include "Engine/TriggerCapsule.h" +#include "Engine/TriggerSphere.h" +#include "Engine/TriggerVolume.h" +#include "EngineUtils.h" +#include "GameFramework/Actor.h" +#include "GameFramework/Character.h" +#include "GameFramework/GameModeBase.h" +#include "GameFramework/PlayerController.h" +#include "GameFramework/PlayerInput.h" +#include "GameFramework/SpringArmComponent.h" +#include "HeadMountedDisplayFunctionLibrary.h" +#include "IAssetRegistry.h" +#include "ImageUtils.h" +#include "Materials/MaterialInstanceDynamic.h" +#include "Misc/DefaultValueHelper.h" +#include "Misc/OutputDeviceNull.h" +#include "Modules/ModuleManager.h" +#include "MotionControllerComponent.h" +#include "PhysicsEngine/RadialForceComponent.h" +#include "Sound/AmbientSound.h" +#include "UnrealEngine.h" + +#include "UnrealCLRFramework.h" +#include "UnrealCLRLibrary.h" +#include "UnrealCLRManager.h" + +#if WITH_EDITOR + #include "Editor.h" + #include "Framework/Notifications/NotificationManager.h" + #include "Widgets/Notifications/SNotificationList.h" +#endif + +#ifdef _WIN32 + #define UNREALCLR_WINDOWS 1 +#elif defined(__unix__) + #define UNREALCLR_UNIX 2 +#elif defined(__APPLE__) + #define UNREALCLR_MAC 3 +#endif + +#define UNREALCLR_NONE +#define UNREALCLR_BRACKET_LEFT ( +#define UNREALCLR_BRACKET_RIGHT ) + +UNREALCLR_API DECLARE_LOG_CATEGORY_EXTERN(LogUnrealCLR, Log, All); + +namespace UnrealCLR { + enum struct StatusType : int32 { + Stopped, + Idle, + Running + }; + + enum struct TickState : int32 { + Stopped, + Registered, + Started + }; + + enum struct LogLevel : int32 { + Display, + Warning, + Error, + Fatal + }; + + enum struct CallbackType : int32 { + ActorOverlapDelegate, + ActorHitDelegate, + ActorCursorDelegate, + ActorKeyDelegate, + ComponentOverlapDelegate, + ComponentHitDelegate, + ComponentCursorDelegate, + ComponentKeyDelegate, + CharacterLandedDelegate + }; + + enum struct ArgumentType : int32 { + None, + Single, + Integer, + Pointer, + Callback + }; + + enum struct CommandType : int32 { + Initialize = 1, + LoadAssemblies = 2, + UnloadAssemblies = 3, + Find = 4, + Execute = 5 + }; + + enum { + OnWorldBegin, + OnWorldPostBegin, + OnWorldPrePhysicsTick, + OnWorldDuringPhysicsTick, + OnWorldPostPhysicsTick, + OnWorldPostUpdateTick, + OnWorldEnd, + OnActorBeginOverlap, + OnActorEndOverlap, + OnActorHit, + OnActorBeginCursorOver, + OnActorEndCursorOver, + OnActorClicked, + OnActorReleased, + OnComponentBeginOverlap, + OnComponentEndOverlap, + OnComponentHit, + OnComponentBeginCursorOver, + OnComponentEndCursorOver, + OnComponentClicked, + OnComponentReleased + }; + + struct Callback { + void** Parameters; + CallbackType Type; + + FORCEINLINE Callback(void** Parameters, CallbackType Type) { + this->Parameters = Parameters; + this->Type = Type; + } + }; + + struct Argument { + union { + float Single; + uint32_t Integer; + void* Pointer; + Callback Callback; + }; + ArgumentType Type; + + FORCEINLINE Argument(float Value) { + this->Single = Value; + this->Type = ArgumentType::Single; + } + + FORCEINLINE Argument(uint32_t Value) { + this->Integer = Value; + this->Type = ArgumentType::Integer; + } + + FORCEINLINE Argument(void* Value) { + this->Pointer = Value; + this->Type = !Value ? ArgumentType::None : ArgumentType::Pointer; + } + + FORCEINLINE Argument(UnrealCLR::Callback Value) { + this->Callback = Value; + this->Type = ArgumentType::Callback; + } + }; + + struct Command { + union { + struct { + void* Buffer; + int32 Checksum; + }; + struct { + char* Method; + int32 Optional; + }; + struct { + void* Function; + Argument Value; + }; + }; + CommandType Type; + + FORCEINLINE Command(void* const Functions[3], int32 Checksum) { + this->Buffer = (void*)Functions; + this->Checksum = Checksum; + this->Type = CommandType::Initialize; + } + + FORCEINLINE Command(CommandType Type) { + this->Type = Type; + } + + FORCEINLINE Command(const char* Method, bool Optional) { + this->Method = (char*)Method; + this->Optional = Optional; + this->Type = CommandType::Find; + } + + FORCEINLINE Command(void* Function) { + this->Function = Function; + this->Value = nullptr; + this->Type = CommandType::Execute; + } + + FORCEINLINE Command(void* Function, Argument Value) { + this->Function = Function; + this->Value = Value; + this->Type = CommandType::Execute; + } + }; + + static_assert(sizeof(Callback) == 16, "Invalid size of the [Callback] structure"); + static_assert(sizeof(Argument) == 24, "Invalid size of the [Argument] structure"); + static_assert(sizeof(Command) == 40, "Invalid size of the [Command] structure"); + + static void* (*ManagedCommand)(Command); + + static FString ProjectPath; + static FString UserAssembliesPath; + + static StatusType Status = StatusType::Stopped; + static TickState WorldTickState = TickState::Stopped; + + struct PrePhysicsTickFunction : public FTickFunction { + virtual void ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) override; + virtual FString DiagnosticMessage() override; + }; + + struct DuringPhysicsTickFunction : public FTickFunction { + virtual void ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) override; + virtual FString DiagnosticMessage() override; + }; + + struct PostPhysicsTickFunction : public FTickFunction { + virtual void ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) override; + virtual FString DiagnosticMessage() override; + }; + + struct PostUpdateTickFunction : public FTickFunction { + virtual void ExecuteTick(float DeltaTime, enum ELevelTick TickType, ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent) override; + virtual FString DiagnosticMessage() override; + }; + + class Module : public IModuleInterface { + protected: + + virtual void StartupModule() override; + virtual void ShutdownModule() override; + + private: + + void OnWorldPostInitialization(UWorld* World, const UWorld::InitializationValues InitializationValues); + void OnWorldCleanup(UWorld* World, bool SessionEnded, bool CleanupResources); + + static void RegisterTickFunction(FTickFunction& TickFunction, ETickingGroup TickGroup, AWorldSettings* LevelActor); + static void HostError(const char_t* Message); + static void Exception(const char* Message); + static void Log(UnrealCLR::LogLevel Level, const char* Message); + + FDelegateHandle OnWorldPostInitializationHandle; + FDelegateHandle OnWorldCleanupHandle; + + PrePhysicsTickFunction OnPrePhysicsTickFunction; + DuringPhysicsTickFunction OnDuringPhysicsTickFunction; + PostPhysicsTickFunction OnPostPhysicsTickFunction; + PostUpdateTickFunction OnPostUpdateTickFunction; + + void* HostfxrLibrary; + }; + + namespace Engine { + static UUnrealCLRManager* Manager; + static UWorld* World; + } + + namespace Shared { + constexpr static int32 storageSize = 128; + + // Non-instantiable + + static void* AssertFunctions[storageSize]; + static void* CommandLineFunctions[storageSize]; + static void* DebugFunctions[storageSize]; + static void* ObjectFunctions[storageSize]; + static void* ApplicationFunctions[storageSize]; + static void* ConsoleManagerFunctions[storageSize]; + static void* EngineFunctions[storageSize]; + static void* WorldFunctions[storageSize]; + + // Instantiable + + static void* AssetFunctions[storageSize]; + static void* AssetRegistryFunctions[storageSize]; + static void* BlueprintFunctions[storageSize]; + static void* ConsoleObjectFunctions[storageSize]; + static void* ConsoleVariableFunctions[storageSize]; + static void* ActorFunctions[storageSize]; + static void* GameModeBaseFunctions[storageSize]; + static void* PawnFunctions[storageSize]; + static void* CharacterFunctions[storageSize]; + static void* ControllerFunctions[storageSize]; + static void* AIControllerFunctions[storageSize]; + static void* PlayerControllerFunctions[storageSize]; + static void* VolumeFunctions[storageSize]; + static void* PostProcessVolumeFunctions[storageSize]; + static void* SoundBaseFunctions[storageSize]; + static void* SoundWaveFunctions[storageSize]; + static void* AnimationInstanceFunctions[storageSize]; + static void* PlayerFunctions[storageSize]; + static void* PlayerInputFunctions[storageSize]; + static void* FontFunctions[storageSize]; + static void* Texture2DFunctions[storageSize]; + static void* ActorComponentFunctions[storageSize]; + static void* InputComponentFunctions[storageSize]; + static void* SceneComponentFunctions[storageSize]; + static void* AudioComponentFunctions[storageSize]; + static void* CameraComponentFunctions[storageSize]; + static void* ChildActorComponentFunctions[storageSize]; + static void* SpringArmComponentFunctions[storageSize]; + static void* PostProcessComponentFunctions[storageSize]; + static void* PrimitiveComponentFunctions[storageSize]; + static void* ShapeComponentFunctions[storageSize]; + static void* BoxComponentFunctions[storageSize]; + static void* SphereComponentFunctions[storageSize]; + static void* CapsuleComponentFunctions[storageSize]; + static void* MeshComponentFunctions[storageSize]; + static void* TextRenderComponentFunctions[storageSize]; + static void* LightComponentBaseFunctions[storageSize]; + static void* LightComponentFunctions[storageSize]; + static void* MotionControllerComponentFunctions[storageSize]; + static void* StaticMeshComponentFunctions[storageSize]; + static void* InstancedStaticMeshComponentFunctions[storageSize]; + static void* HierarchicalInstancedStaticMeshComponentFunctions[storageSize]; + static void* SkinnedMeshComponentFunctions[storageSize]; + static void* SkeletalMeshComponentFunctions[storageSize]; + static void* SplineComponentFunctions[storageSize]; + static void* RadialForceComponentFunctions[storageSize]; + static void* MaterialInterfaceFunctions[storageSize]; + static void* MaterialFunctions[storageSize]; + static void* MaterialInstanceFunctions[storageSize]; + static void* MaterialInstanceDynamicFunctions[storageSize]; + static void* HeadMountedDisplayFunctions[storageSize]; + + static void* RuntimeFunctions[2]; + static void* Events[128]; + static void* Functions[128]; + } + + namespace Utility { + FORCEINLINE static size_t Strcpy(char* Destination, const char* Source, size_t Length); + FORCEINLINE static size_t Strlen(const char* Source); + } +} \ No newline at end of file diff --git a/Plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRFramework.h b/Plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRFramework.h new file mode 100644 index 00000000..8d3ca065 --- /dev/null +++ b/Plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRFramework.h @@ -0,0 +1,1216 @@ +/* + * Unreal Engine .NET 5 integration + * Copyright (c) 2021 Stanislav Denisov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#pragma once + +UNREALCLR_API DECLARE_LOG_CATEGORY_EXTERN(LogUnrealManaged, Log, All); + +namespace UnrealCLRFramework { + using AnimationMode = EAnimationMode::Type; + using AutoReceiveInput = EAutoReceiveInput::Type; + using CameraProjectionMode = ECameraProjectionMode::Type; + using CollisionMode = ECollisionEnabled::Type; + using CollisionShapeType = ECollisionShape::Type; + using ComponentMobility = EComponentMobility::Type; + using SplineCoordinateSpace = ESplineCoordinateSpace::Type; + using SplinePointType = ESplinePointType::Type; + using WindowMode = EWindowMode::Type; + + using AudioFadeCurve = EAudioFaderCurve; + using AutoPossessAI = EAutoPossessAI; + using BlendType = EViewTargetBlendFunction; + using CollisionChannel = ECollisionChannel; + using CollisionResponse = ECollisionResponse; + using ControllerHand = EControllerHand; + using HorizontalTextAligment = EHorizTextAligment; + using InputEvent = EInputEvent; + using NetMode = ENetMode; + using PixelFormat = EPixelFormat; + using TeleportType = ETeleportType; + using VerticalTextAligment = EVerticalTextAligment; + + using Bounds = FBoxSphereBounds; + using CollisionShape = FCollisionShape; + + enum struct LogLevel : int32 { + Display, + Warning, + Error, + Fatal + }; + + enum struct AttachmentTransformRule : int32 { + KeepRelativeTransform, + KeepWorldTransform, + SnapToTargetIncludingScale, + SnapToTargetNotIncludingScale + }; + + enum struct DetachmentTransformRule : int32 { + KeepRelativeTransform, + KeepWorldTransform + }; + + enum struct UpdateTransformFlags : int32 { + None = 0, + SkipPhysicsUpdate = 1 << 0, + PropagateFromParent = 1 << 1, + OnlyUpdateIfUsingSocket = 1 << 2 + }; + + enum struct AIFocusPriority : int32 { + Default = 0, + Move = 1, + Gameplay = 2 + }; + + enum struct ActorEventType : int32 { + OnActorBeginOverlap, + OnActorEndOverlap, + OnActorHit, + OnActorBeginCursorOver, + OnActorEndCursorOver, + OnActorClicked, + OnActorReleased + }; + + enum struct ComponentEventType : int32 { + OnComponentBeginOverlap, + OnComponentEndOverlap, + OnComponentHit, + OnComponentBeginCursorOver, + OnComponentEndCursorOver, + OnComponentClicked, + OnComponentReleased + }; + + struct Color { + uint8 B; + uint8 G; + uint8 R; + uint8 A; + + FORCEINLINE Color(FColor Value) { + this->R = Value.R; + this->G = Value.G; + this->B = Value.B; + this->A = Value.A; + } + + FORCEINLINE operator FColor() const { return FColor(R, G, B, A); } + }; + + struct Vector2 { + float X; + float Y; + + FORCEINLINE Vector2(FVector2D Value) { + this->X = Value.X; + this->Y = Value.Y; + } + + FORCEINLINE operator FVector2D() const { return FVector2D(X, Y); } + }; + + struct Vector3 { + float X; + float Y; + float Z; + + FORCEINLINE Vector3(FVector Value) { + this->X = Value.X; + this->Y = Value.Y; + this->Z = Value.Z; + } + + FORCEINLINE operator FVector() const { return FVector(X, Y, Z); } + }; + + struct Quaternion { + float X; + float Y; + float Z; + float W; + + FORCEINLINE Quaternion(FQuat Value) { + this->X = Value.X; + this->Y = Value.Y; + this->Z = Value.Z; + this->W = Value.W; + } + + FORCEINLINE operator FQuat() const { return FQuat(X, Y, Z, W); } + }; + + struct Transform { + Vector3 Location; + Quaternion Rotation; + Vector3 Scale; + + FORCEINLINE Transform(const FTransform& Value) : + Location(Value.GetTranslation()), + Rotation(Value.GetRotation()), + Scale(Value.GetScale3D()) { } + + FORCEINLINE operator FTransform() const { return FTransform(Rotation, Location, Scale); } + }; + + struct LinearColor { + float R; + float G; + float B; + float A; + + FORCEINLINE LinearColor(FLinearColor Value) { + this->R = Value.R; + this->G = Value.G; + this->B = Value.B; + this->A = Value.A; + } + + FORCEINLINE operator FLinearColor() const { return FLinearColor(R, G, B, A); } + }; + + struct Hit { + Vector3 Location; + Vector3 ImpactLocation; + Vector3 Normal; + Vector3 ImpactNormal; + Vector3 TraceStart; + Vector3 TraceEnd; + AActor* Actor; + float Time; + float Distance; + float PenetrationDepth; + bool BlockingHit; + bool StartPenetrating; + + FORCEINLINE Hit(const FHitResult& Value) : + Location(FVector(Value.Location.X, Value.Location.Y, Value.Location.Z)), + ImpactLocation(FVector(Value.ImpactPoint.X, Value.ImpactPoint.Y, Value.ImpactPoint.Z)), + Normal(FVector(Value.Normal.X, Value.Normal.Y, Value.Normal.Z)), + ImpactNormal(FVector(Value.ImpactNormal.X, Value.ImpactNormal.Y, Value.ImpactNormal.Z)), + TraceStart(FVector(Value.TraceStart.X, Value.TraceStart.Y, Value.TraceStart.Z)), + TraceEnd(FVector(Value.TraceEnd.X, Value.TraceEnd.Y, Value.TraceEnd.Z)), + Actor(Value.GetActor()), + Time(Value.Time), + Distance(Value.Distance), + PenetrationDepth(Value.PenetrationDepth), + BlockingHit(Value.bBlockingHit), + StartPenetrating(Value.bStartPenetrating) { } + }; + + typedef void (*InputDelegate)(); + + typedef void (*InputAxisDelegate)(float); + + typedef void (*ConsoleVariableDelegate)(); + + typedef void (*ConsoleCommandDelegate)(float); + + typedef void (*ActorOverlapDelegate)(AActor*, AActor*); + + typedef void (*ActorHitDelegate)(AActor* HitActor, AActor* OtherActor, const Vector3* NormalImpulse, const Hit* Hit); + + typedef void (*ActorCursorDelegate)(AActor* Actor); + + typedef void (*ActorKeyDelegate)(AActor* Actor, const char* Key); + + typedef void (*ComponentOverlapDelegate)(UPrimitiveComponent*, UPrimitiveComponent*); + + typedef void (*ComponentHitDelegate)(UPrimitiveComponent* HitComponent, UPrimitiveComponent* OtherComponent, const Vector3* NormalImpulse, const Hit* Hit); + + typedef void (*ComponentCursorDelegate)(UPrimitiveComponent* Component); + + typedef void (*ComponentKeyDelegate)(UPrimitiveComponent* Component, const char* Key); + + typedef void (*CharacterLandedDelegate)(const Hit* Hit); + + // Enumerable + + enum struct ObjectType : int32 { + Blueprint, + SoundWave, + AnimationSequence, + AnimationMontage, + StaticMesh, + SkeletalMesh, + Material, + Font, + Texture2D + }; + + enum struct ActorType : int32 { + Base, + Camera, + TriggerBox, + TriggerSphere, + TriggerCapsule, + Pawn, + Character, + AIController, + PlayerController, + Brush, + AmbientSound, + DirectionalLight, + PointLight, + RectLight, + SpotLight, + TriggerVolume, + PostProcessVolume, + LevelScript, + GameModeBase + }; + + enum struct ComponentType : int32 { + // Non-attachable + Actor, + Input, + // Attachable + Scene, + Audio, + Camera, + Light, + DirectionalLight, + MotionController, + StaticMesh, + InstancedStaticMesh, + HierarchicalInstancedStaticMesh, + ChildActor, + SpringArm, + PostProcess, + Box, + Sphere, + Capsule, + TextRender, + SkeletalMesh, + Spline, + RadialForce + }; + + // Non-instantiable + + namespace Assert { + static void OutputMessage(const uint8* Message); + } + + namespace CommandLine { + static void Get(char* Arguments); + static void Set(const char* Arguments); + static void Append(const char* Arguments); + } + + namespace Debug { + static void Log(LogLevel Level, const uint8* Message); + static void Exception(const uint8* Exception); + static void AddOnScreenMessage(int32 Key, float TimeToDisplay, Color DisplayColor, const uint8* Message); + static void ClearOnScreenMessages(); + static void DrawBox(const Vector3* Center, const Vector3* Extent, const Quaternion* Rotation, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness); + static void DrawCapsule(const Vector3* Center, float HalfHeight, float Radius, const Quaternion* Rotation, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness); + static void DrawCone(const Vector3* Origin, const Vector3* Direction, float Length, float AngleWidth, float AngleHeight, int32 Sides, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness); + static void DrawCylinder(const Vector3* Start, const Vector3* End, float Radius, int32 Segments, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness); + static void DrawSphere(const Vector3* Center, float Radius, int32 Segments, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness); + static void DrawLine(const Vector3* Start, const Vector3* End, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority, float Thickness); + static void DrawPoint(const Vector3* Location, float Size, Color Color, bool PersistentLines, float LifeTime, uint8 DepthPriority); + static void FlushPersistentLines(); + } + + namespace Object { + static bool IsPendingKill(UObject* Object); + static bool IsValid(UObject* Object); + static UObject* Load(ObjectType Type, const char* Name); + static void Rename(UObject* Object, const char* Name); + static bool Invoke(UObject* Object, const uint8* Command); + static AActor* ToActor(UObject* Object, ActorType Type); + static UActorComponent* ToComponent(UObject* Object, ComponentType Type); + static uint32 GetID(UObject* Object); + static void GetName(UObject* Object, char* Name); + static bool GetBool(UObject* Object, const char* Name, bool* value); + static bool GetByte(UObject* Object, const char* Name, uint8* Value); + static bool GetShort(UObject* Object, const char* Name, int16* Value); + static bool GetInt(UObject* Object, const char* Name, int32* Value); + static bool GetLong(UObject* Object, const char* Name, int64* Value); + static bool GetUShort(UObject* Object, const char* Name, uint16* Value); + static bool GetUInt(UObject* Object, const char* Name, uint32* Value); + static bool GetULong(UObject* Object, const char* Name, uint64* Value); + static bool GetFloat(UObject* Object, const char* Name, float* Value); + static bool GetDouble(UObject* Object, const char* Name, double* Value); + static bool GetEnum(UObject* Object, const char* Name, int32* Value); + static bool GetString(UObject* Object, const char* Name, char* Value); + static bool GetText(UObject* Object, const char* Name, char* Value); + static bool SetBool(UObject* Object, const char* Name, bool value); + static bool SetByte(UObject* Object, const char* Name, uint8 Value); + static bool SetShort(UObject* Object, const char* Name, int16 Value); + static bool SetInt(UObject* Object, const char* Name, int32 Value); + static bool SetLong(UObject* Object, const char* Name, int64 Value); + static bool SetUShort(UObject* Object, const char* Name, uint16 Value); + static bool SetUInt(UObject* Object, const char* Name, uint32 Value); + static bool SetULong(UObject* Object, const char* Name, uint64 Value); + static bool SetFloat(UObject* Object, const char* Name, float Value); + static bool SetDouble(UObject* Object, const char* Name, double Value); + static bool SetEnum(UObject* Object, const char* Name, int32 Value); + static bool SetString(UObject* Object, const char* Name, const char* Value); + static bool SetText(UObject* Object, const char* Name, const char* Value); + } + + namespace Application { + static bool IsCanEverRender(); + static bool IsPackagedForDistribution(); + static bool IsPackagedForShipping(); + static void GetProjectDirectory(char* Directory); + static void GetDefaultLanguage(char* Language); + static void GetProjectName(char* ProjectName); + static float GetVolumeMultiplier(); + static void SetProjectName(const char* ProjectName); + static void SetVolumeMultiplier(float Value); + static void RequestExit(bool Force); + } + + namespace ConsoleManager { + static bool IsRegisteredVariable(const char* Name); + static IConsoleVariable* FindVariable(const char* Name); + static IConsoleVariable* RegisterVariableBool(const char* Name, const char* Help, bool DefaultValue, bool ReadOnly); + static IConsoleVariable* RegisterVariableInt(const char* Name, const char* Help, int32 DefaultValue, bool ReadOnly); + static IConsoleVariable* RegisterVariableFloat(const char* Name, const char* Help, float DefaultValue, bool ReadOnly); + static IConsoleVariable* RegisterVariableString(const char* Name, const char* Help, const char* DefaultValue, bool ReadOnly); + static void RegisterCommand(const char* Name, const char* Help, ConsoleCommandDelegate Callback, bool ReadOnly); + static void UnregisterObject(const char* Name); + } + + namespace Engine { + static bool IsSplitScreen(); + static bool IsEditor(); + static bool IsForegroundWindow(); + static bool IsExitRequested(); + static NetMode GetNetMode(); + static uint32 GetFrameNumber(); + static void GetViewportSize(Vector2* Value); + static void GetScreenResolution(Vector2* Value); + static WindowMode GetWindowMode(); + static void GetVersion(char* Version); + static float GetMaxFPS(); + static void SetMaxFPS(float MaxFPS); + static void SetTitle(const char* Title); + static void AddActionMapping(const char* ActionName, const char* Key, bool Shift, bool Ctrl, bool Alt, bool Cmd); + static void AddAxisMapping(const char* AxisName, const char* Key, float Scale); + static void ForceGarbageCollection(bool FullPurge); + static void DelayGarbageCollection(); + } + + namespace HeadMountedDisplay { + static bool IsConnected(); + static bool GetEnabled(); + static bool GetLowPersistenceMode(); + static void GetDeviceName(char* Name); + static void SetEnable(bool Value); + static void SetLowPersistenceMode(bool Value); + } + + namespace World { + static void ForEachActor(AActor** Array, int32* Elements); + static int32 GetActorCount(); + static float GetDeltaSeconds(); + static float GetRealTimeSeconds(); + static float GetTimeSeconds(); + static void GetCurrentLevelName(char* LevelName); + static bool GetSimulatePhysics(); + static void GetWorldOrigin(Vector3* Value); + static AActor* GetActor(const char* Name, ActorType Type); + static AActor* GetActorByTag(const char* Tag, ActorType Type); + static AActor* GetActorByID(uint32 ID, ActorType Type); + static APlayerController* GetFirstPlayerController(); + static AGameModeBase* GetGameMode(); + static void SetOnActorBeginOverlapCallback(ActorOverlapDelegate Callback); + static void SetOnActorEndOverlapCallback(ActorOverlapDelegate Callback); + static void SetOnActorHitCallback(ActorHitDelegate Callback); + static void SetOnActorBeginCursorOverCallback(ActorCursorDelegate Callback); + static void SetOnActorEndCursorOverCallback(ActorCursorDelegate Callback); + static void SetOnActorClickedCallback(ActorKeyDelegate Callback); + static void SetOnActorReleasedCallback(ActorKeyDelegate Callback); + static void SetOnComponentBeginOverlapCallback(ComponentOverlapDelegate Callback); + static void SetOnComponentEndOverlapCallback(ComponentOverlapDelegate Callback); + static void SetOnComponentHitCallback(ComponentHitDelegate Callback); + static void SetOnComponentBeginCursorOverCallback(ComponentCursorDelegate Callback); + static void SetOnComponentEndCursorOverCallback(ComponentCursorDelegate Callback); + static void SetOnComponentClickedCallback(ComponentKeyDelegate Callback); + static void SetOnComponentReleasedCallback(ComponentKeyDelegate Callback); + static void SetSimulatePhysics(bool Value); + static void SetGravity(float Value); + static bool SetWorldOrigin(const Vector3* Value); + static void OpenLevel(const char* LevelName); + static bool LineTraceTestByChannel(const Vector3* Start, const Vector3* End, CollisionChannel Channel, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); + static bool LineTraceTestByProfile(const Vector3* Start, const Vector3* End, const char* ProfileName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); + static bool LineTraceSingleByChannel(const Vector3* Start, const Vector3* End, CollisionChannel Channel, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); + static bool LineTraceSingleByProfile(const Vector3* Start, const Vector3* End, const char* ProfileName, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); + static bool SweepTestByChannel(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); + static bool SweepTestByProfile(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); + static bool SweepSingleByChannel(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); + static bool SweepSingleByProfile(const Vector3* Start, const Vector3* End, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, Hit* Hit, char* BoneName, bool TraceComplex, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); + static bool OverlapAnyTestByChannel(const Vector3* Location, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); + static bool OverlapAnyTestByProfile(const Vector3* Location, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); + static bool OverlapBlockingTestByChannel(const Vector3* Location, const Quaternion* Rotation, CollisionChannel Channel, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); + static bool OverlapBlockingTestByProfile(const Vector3* Location, const Quaternion* Rotation, const char* ProfileName, const CollisionShape* Shape, AActor* IgnoredActor, UPrimitiveComponent* IgnoredComponent); + } + + // Instantiable + + namespace Asset { + static bool IsValid(FAssetData* Asset); + static void GetName(FAssetData* Asset, char* Name); + static void GetPath(FAssetData* Asset, char* Path); + } + + namespace AssetRegistry { + static IAssetRegistry* Get(); + static bool HasAssets(IAssetRegistry* AssetRegistry, const char* Path, bool Recursive); + static void ForEachAsset(IAssetRegistry* AssetRegistry, const char* Path, bool Recursive, bool IncludeOnlyOnDiskAssets, FAssetData** Array, int32* Elements); + } + + namespace Blueprint { + static bool IsValidActorClass(UBlueprint* Blueprint, ActorType Type); + static bool IsValidComponentClass(UBlueprint* Blueprint, ComponentType Type); + } + + namespace ConsoleObject { + static bool IsBool(IConsoleObject* ConsoleObject); + static bool IsInt(IConsoleObject* ConsoleObject); + static bool IsFloat(IConsoleObject* ConsoleObject); + static bool IsString(IConsoleObject* ConsoleObject); + } + + namespace ConsoleVariable { + static bool GetBool(IConsoleVariable* ConsoleVariable); + static int32 GetInt(IConsoleVariable* ConsoleVariable); + static float GetFloat(IConsoleVariable* ConsoleVariable); + static void GetString(IConsoleVariable* ConsoleVariable, char* Value); + static void SetBool(IConsoleVariable* ConsoleVariable, bool Value); + static void SetInt(IConsoleVariable* ConsoleVariable, int32 Value); + static void SetFloat(IConsoleVariable* ConsoleVariable, float Value); + static void SetString(IConsoleVariable* ConsoleVariable, const char* Value); + static void SetOnChangedCallback(IConsoleVariable* ConsoleVariable, ConsoleVariableDelegate Callback); + static void ClearOnChangedCallback(IConsoleVariable* ConsoleVariable); + } + + namespace Actor { + static bool IsPendingKill(AActor* Actor); + static bool IsRootComponentMovable(AActor* Actor); + static bool IsOverlappingActor(AActor* Actor, AActor* Other); + static void ForEachComponent(AActor* Actor, UActorComponent** Array, int32* Elements); + static void ForEachAttachedActor(AActor* Actor, AActor** Array, int32* Elements); + static void ForEachChildActor(AActor* Actor, AActor** Array, int32* Elements); + static void ForEachOverlappingActor(AActor* Actor, AActor** Array, int32* Elements); + static AActor* Spawn(const char* Name, ActorType Type, UObject* Blueprint); + static bool Destroy(AActor* Actor); + static void Rename(AActor* Actor, const char* Name); + static void Hide(AActor* Actor, bool Value); + static bool TeleportTo(AActor* Actor, const Vector3* DestinationLocation, const Quaternion* DestinationRotation, bool IsATest, bool NoCheck); + static UActorComponent* GetComponent(AActor* Actor, const char* Name, ComponentType Type); + static UActorComponent* GetComponentByTag(AActor* Actor, const char* Tag, ComponentType Type); + static UActorComponent* GetComponentByID(AActor* Actor, uint32 ID, ComponentType Type); + static USceneComponent* GetRootComponent(AActor* Actor, ComponentType Type); + static UInputComponent* GetInputComponent(AActor* Actor); + static float GetCreationTime(AActor* Actor); + static bool GetBlockInput(AActor* Actor); + static float GetDistanceTo(AActor* Actor, AActor* Other); + static float GetHorizontalDistanceTo(AActor* Actor, AActor* Other); + static void GetBounds(AActor* Actor, bool OnlyCollidingComponents, Vector3* Origin, Vector3* Extent); + static void GetEyesViewPoint(AActor* Actor, Vector3* Location, Quaternion* Rotation); + static bool SetRootComponent(AActor* Actor, USceneComponent* RootComponent); + static void SetInputComponent(AActor* Actor, UInputComponent* InputComponent); + static void SetBlockInput(AActor* Actor, bool Value); + static void SetLifeSpan(AActor* Actor, float LifeSpan); + static void SetEnableInput(AActor* Actor, APlayerController* PlayerController, bool Value); + static void SetEnableCollision(AActor* Actor, bool Value); + static void AddTag(AActor* Actor, const char* Tag); + static void RemoveTag(AActor* Actor, const char* Tag); + static bool HasTag(AActor* Actor, const char* Tag); + static void RegisterEvent(AActor* Actor, ActorEventType Type); + static void UnregisterEvent(AActor* Actor, ActorEventType Type); + } + + namespace GameModeBase { + static bool GetUseSeamlessTravel(AGameModeBase* GameModeBase); + static void SetUseSeamlessTravel(AGameModeBase* GameModeBase, bool Value); + static void SwapPlayerControllers(AGameModeBase* GameModeBase, APlayerController* PlayerController, APlayerController* NewPlayerController); + } + + namespace TriggerBase { } + + namespace TriggerBox { } + + namespace TriggerCapsule { } + + namespace TriggerSphere { } + + namespace Pawn { + static bool IsControlled(APawn* Pawn); + static bool IsPlayerControlled(APawn* Pawn); + static AutoPossessAI GetAutoPossessAI(APawn* Pawn); + static AutoReceiveInput GetAutoPossessPlayer(APawn* Pawn); + static bool GetUseControllerRotationYaw(APawn* Pawn); + static bool GetUseControllerRotationPitch(APawn* Pawn); + static bool GetUseControllerRotationRoll(APawn* Pawn); + static void GetGravityDirection(APawn* Pawn, Vector3* Value); + static AAIController* GetAIController(APawn* Pawn); + static APlayerController* GetPlayerController(APawn* Pawn); + static void SetAutoPossessAI(APawn* Pawn, AutoPossessAI Value); + static void SetAutoPossessPlayer(APawn* Pawn, AutoReceiveInput Value); + static void SetUseControllerRotationYaw(APawn* Pawn, bool Value); + static void SetUseControllerRotationPitch(APawn* Pawn, bool Value); + static void SetUseControllerRotationRoll(APawn* Pawn, bool Value); + static void AddControllerYawInput(APawn* Pawn, float Value); + static void AddControllerPitchInput(APawn* Pawn, float Value); + static void AddControllerRollInput(APawn* Pawn, float Value); + static void AddMovementInput(APawn* Pawn, const Vector3* WorldDirection, float ScaleValue, bool Force); + } + + namespace Character { + static bool IsCrouched(ACharacter* Character); + static bool CanCrouch(ACharacter* Character); + static bool CanJump(ACharacter* Character); + static void CheckJumpInput(ACharacter* Character, float DeltaTime); + static void ClearJumpInput(ACharacter* Character, float DeltaTime); + static void Launch(ACharacter* Character, const Vector3* Velocity, bool OverrideXY, bool OverrideZ); + static void Crouch(ACharacter* Character); + static void StopCrouching(ACharacter* Character); + static void Jump(ACharacter* Character); + static void StopJumping(ACharacter* Character); + static void SetOnLandedCallback(ACharacter* Character, CharacterLandedDelegate Callback); + } + + namespace Controller { + static bool IsLookInputIgnored(AController* Controller); + static bool IsMoveInputIgnored(AController* Controller); + static bool IsPlayerController(AController* Controller); + static APawn* GetPawn(AController* Controller); + static ACharacter* GetCharacter(AController* Controller); + static AActor* GetViewTarget(AController* Controller); + static void GetControlRotation(AController* Controller, Quaternion* Value); + static void GetDesiredRotation(AController* Controller, Quaternion* Value); + static bool LineOfSightTo(AController* Controller, AActor* Actor, const Vector3* ViewPoint, bool AlternateChecks); + static void SetControlRotation(AController* Controller, const Quaternion* Value); + static void SetInitialLocationAndRotation(AController* Controller, const Vector3* NewLocation, const Quaternion* NewRotation); + static void SetIgnoreLookInput(AController* Controller, bool Value); + static void SetIgnoreMoveInput(AController* Controller, bool Value); + static void ResetIgnoreLookInput(AController* Controller); + static void ResetIgnoreMoveInput(AController* Controller); + static void Possess(AController* Controller, APawn* Pawn); + static void Unpossess(AController* Controller); + } + + namespace AIController { + static void ClearFocus(AAIController* AIController, AIFocusPriority Priority); + static void GetFocalPoint(AAIController* AIController, Vector3* Value); + static void SetFocalPoint(AAIController* AIController, const Vector3* NewFocus, AIFocusPriority Priority); + static AActor* GetFocusActor(AAIController* AIController); + static bool GetAllowStrafe(AAIController* AIController); + static void SetAllowStrafe(AAIController* AIController, bool Value); + static void SetFocus(AAIController* AIController, AActor* NewFocus, AIFocusPriority Priority); + } + + namespace PlayerController { + static bool IsPaused(APlayerController* PlayerController); + static bool GetShowMouseCursor(APlayerController* PlayerController); + static bool GetEnableClickEvents(APlayerController* PlayerController); + static bool GetEnableMouseOverEvents(APlayerController* PlayerController); + static bool GetMousePosition(APlayerController* PlayerController, float* X, float* Y); + static UPlayer* GetPlayer(APlayerController* PlayerController); + static UPlayerInput* GetPlayerInput(APlayerController* PlayerController); + static bool GetHitResultAtScreenPosition(APlayerController* PlayerController, const Vector2* ScreenPosition, CollisionChannel TraceChannel, Hit* Hit, bool TraceComplex); + static bool GetHitResultUnderCursor(APlayerController* PlayerController, CollisionChannel TraceChannel, Hit* Hit, bool TraceComplex); + static void SetShowMouseCursor(APlayerController* PlayerController, bool Value); + static void SetEnableClickEvents(APlayerController* PlayerController, bool Value); + static void SetEnableMouseOverEvents(APlayerController* PlayerController, bool Value); + static void SetMousePosition(APlayerController* PlayerController, float X, float Y); + static void ConsoleCommand(APlayerController* PlayerController, const char* Command, bool WriteToLog); + static bool SetPause(APlayerController* PlayerController, bool Value); + static void SetViewTarget(APlayerController* PlayerController, AActor* NewViewTarget); + static void SetViewTargetWithBlend(APlayerController* PlayerController, AActor* NewViewTarget, float Time, float Exponent, BlendType Type, bool LockOutgoing); + static void AddYawInput(APlayerController* PlayerController, float Value); + static void AddPitchInput(APlayerController* PlayerController, float Value); + static void AddRollInput(APlayerController* PlayerController, float Value); + } + + namespace Volume { + static bool EncompassesPoint(AVolume* Volume, const Vector3* Point, float SphereRadius, float* OutDistanceToPoint); + } + + namespace TriggerVolume { } + + namespace PostProcessVolume { + static bool GetEnabled(APostProcessVolume* PostProcessVolume); + static float GetBlendRadius(APostProcessVolume* PostProcessVolume); + static float GetBlendWeight(APostProcessVolume* PostProcessVolume); + static bool GetUnbound(APostProcessVolume* PostProcessVolume); + static float GetPriority(APostProcessVolume* PostProcessVolume); + static void SetEnabled(APostProcessVolume* PostProcessVolume, bool Value); + static void SetBlendRadius(APostProcessVolume* PostProcessVolume, float Value); + static void SetBlendWeight(APostProcessVolume* PostProcessVolume, float Value); + static void SetUnbound(APostProcessVolume* PostProcessVolume, bool Value); + static void SetPriority(APostProcessVolume* PostProcessVolume, float Priority); + } + + namespace LevelScript { } + + namespace AmbientSound { } + + namespace Light { } + + namespace DirectionalLight { } + + namespace PointLight { } + + namespace RectLight { } + + namespace SpotLight { } + + namespace SoundBase { + static float GetDuration(USoundBase* SoundBase); + } + + namespace SoundWave { + static bool GetLoop(USoundWave* SoundWave); + static void SetLoop(USoundWave* SoundWave, bool Value); + } + + namespace AnimationAsset { + + } + + namespace AnimationSequenceBase { + + } + + namespace AnimationSequence { + + } + + namespace AnimationCompositeBase { + + } + + namespace AnimationMontage { + + } + + namespace AnimationInstance { + static UAnimMontage* GetCurrentActiveMontage(UAnimInstance* AnimationInstance); + static bool IsPlaying(UAnimInstance* AnimationInstance, UAnimMontage* Montage); + static float GetPlayRate(UAnimInstance* AnimationInstance, UAnimMontage* Montage); + static float GetPosition(UAnimInstance* AnimationInstance, UAnimMontage* Montage); + static float GetBlendTime(UAnimInstance* AnimationInstance, UAnimMontage* Montage); + static void GetCurrentSection(UAnimInstance* AnimationInstance, UAnimMontage* Montage, char* SectionName); + static void SetPlayRate(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float Value); + static void SetPosition(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float Position); + static void SetNextSection(UAnimInstance* AnimationInstance, UAnimMontage* Montage, const char* SectionToChange, const char* NextSection); + static float PlayMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float PlayRate, float TimeToStartMontageAt, bool StopAllMontages); + static void PauseMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage); + static void ResumeMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage); + static void StopMontage(UAnimInstance* AnimationInstance, UAnimMontage* Montage, float BlendOutTime); + static void JumpToSection(UAnimInstance* AnimationInstance, UAnimMontage* Montage, const char* SectionName); + static void JumpToSectionsEnd(UAnimInstance* AnimationInstance, UAnimMontage* Montage, const char* SectionName); + } + + namespace Player { + static APlayerController* GetPlayerController(UPlayer* Player); + } + + namespace PlayerInput { + static bool IsKeyPressed(UPlayerInput* PlayerInput, const char* Key); + static float GetTimeKeyPressed(UPlayerInput* PlayerInput, const char* Key); + static void GetMouseSensitivity(UPlayerInput* PlayerInput, Vector2* Value); + static void SetMouseSensitivity(UPlayerInput* PlayerInput, const Vector2* Value); + static void AddActionMapping(UPlayerInput* PlayerInput, const char* ActionName, const char* Key, bool Shift, bool Ctrl, bool Alt, bool Cmd); + static void AddAxisMapping(UPlayerInput* PlayerInput, const char* AxisName, const char* Key, float Scale); + static void RemoveActionMapping(UPlayerInput* PlayerInput, const char* ActionName, const char* Key); + static void RemoveAxisMapping(UPlayerInput* PlayerInput, const char* AxisName, const char* Key); + } + + namespace Font { + static void GetStringSize(UFont* Font, const char* Text, int32* Height, int32* Width); + } + + namespace StreamableRenderAsset { + + } + + namespace StaticMesh { + + } + + namespace SkeletalMesh { + + } + + namespace Texture { + + } + + namespace Texture2D { + static UTexture2D* CreateFromFile(const char* FilePath); + static UTexture2D* CreateFromBuffer(const uint8* Buffer, int32 Length); + static bool HasAlphaChannel(UTexture2D* Texture2D); + static void GetSize(UTexture2D* Texture2D, Vector2* Value); + static PixelFormat GetPixelFormat(UTexture2D* Texture2D); + } + + namespace ActorComponent { + static bool IsOwnerSelected(UActorComponent* ActorComponent); + static AActor* GetOwner(UActorComponent* ActorComponent, ActorType Type); + static void Destroy(UActorComponent* ActorComponent, bool PromoteChild); + static void AddTag(UActorComponent* ActorComponent, const char* Tag); + static void RemoveTag(UActorComponent* ActorComponent, const char* Tag); + static bool HasTag(UActorComponent* ActorComponent, const char* Tag); + } + + namespace InputComponent { + static bool HasBindings(UInputComponent* InputComponent); + static int32 GetActionBindingsNumber(UInputComponent* InputComponent); + static void ClearActionBindings(UInputComponent* InputComponent); + static void BindAction(UInputComponent* InputComponent, const char* ActionName, InputEvent KeyEvent, bool ExecutedWhenPaused, InputDelegate Callback); + static void BindAxis(UInputComponent* InputComponent, const char* AxisName, bool ExecutedWhenPaused, InputAxisDelegate Callback); + static void RemoveActionBinding(UInputComponent* InputComponent, const char* ActionName, InputEvent KeyEvent); + static bool GetBlockInput(UInputComponent* InputComponent); + static void SetBlockInput(UInputComponent* InputComponent, bool Value); + static int32 GetPriority(UInputComponent* InputComponent); + static void SetPriority(UInputComponent* InputComponent, int32 Value); + } + + namespace SceneComponent { + static bool IsAttachedToComponent(USceneComponent* SceneComponent, USceneComponent* Component); + static bool IsAttachedToActor(USceneComponent* SceneComponent, AActor* Actor); + static bool IsVisible(USceneComponent* SceneComponent); + static bool IsSocketExists(USceneComponent* SceneComponent, const char* SocketName); + static bool HasAnySockets(USceneComponent* SceneComponent); + static bool CanAttachAsChild(USceneComponent* SceneComponent, USceneComponent* ChildComponent, const char* SocketName); + static void ForEachAttachedChild(USceneComponent* SceneComponent, USceneComponent** Array, int32* Elements); + static USceneComponent* Create(AActor* Actor, ComponentType Type, const char* Name, bool SetAsRoot, UObject* Blueprint); + static bool AttachToComponent(USceneComponent* SceneComponent, USceneComponent* Parent, AttachmentTransformRule AttachmentRule, const char* SocketName); + static void DetachFromComponent(USceneComponent* SceneComponent, DetachmentTransformRule DetachmentRule); + static void Activate(USceneComponent* SceneComponent); + static void Deactivate(USceneComponent* SceneComponent); + static void UpdateToWorld(USceneComponent* SceneComponent, TeleportType Type, UpdateTransformFlags Flags); + static void AddLocalOffset(USceneComponent* SceneComponent, const Vector3* DeltaLocation); + static void AddLocalRotation(USceneComponent* SceneComponent, const Quaternion* DeltaRotation); + static void AddRelativeLocation(USceneComponent* SceneComponent, const Vector3* DeltaLocation); + static void AddRelativeRotation(USceneComponent* SceneComponent, const Quaternion* DeltaRotation); + static void AddLocalTransform(USceneComponent* SceneComponent, const Transform* DeltaTransform); + static void AddWorldOffset(USceneComponent* SceneComponent, const Vector3* DeltaLocation); + static void AddWorldRotation(USceneComponent* SceneComponent, const Quaternion* DeltaRotation); + static void AddWorldTransform(USceneComponent* SceneComponent, const Transform* DeltaTransform); + static void GetAttachedSocketName(USceneComponent* SceneComponent, char* SocketName); + static void GetBounds(USceneComponent* SceneComponent, const Transform* LocalToWorld, Bounds* Value); + static void GetSocketLocation(USceneComponent* SceneComponent, const char* SocketName, Vector3* Value); + static void GetSocketRotation(USceneComponent* SceneComponent, const char* SocketName, Quaternion* Value); + static void GetComponentVelocity(USceneComponent* SceneComponent, Vector3* Value); + static void GetComponentLocation(USceneComponent* SceneComponent, Vector3* Value); + static void GetComponentRotation(USceneComponent* SceneComponent, Quaternion* Value); + static void GetComponentScale(USceneComponent* SceneComponent, Vector3* Value); + static void GetComponentTransform(USceneComponent* SceneComponent, Transform* Value); + static void GetForwardVector(USceneComponent* SceneComponent, Vector3* Value); + static void GetRightVector(USceneComponent* SceneComponent, Vector3* Value); + static void GetUpVector(USceneComponent* SceneComponent, Vector3* Value); + static void SetMobility(USceneComponent* SceneComponent, ComponentMobility Mobility); + static void SetVisibility(USceneComponent* SceneComponent, bool NewVisibility, bool PropagateToChildren); + static void SetRelativeLocation(USceneComponent* SceneComponent, const Vector3* Location); + static void SetRelativeRotation(USceneComponent* SceneComponent, const Quaternion* Rotation); + static void SetRelativeTransform(USceneComponent* SceneComponent, const Transform* Transform); + static void SetWorldLocation(USceneComponent* SceneComponent, const Vector3* Location); + static void SetWorldRotation(USceneComponent* SceneComponent, const Quaternion* Rotation); + static void SetWorldScale(USceneComponent* SceneComponent, const Vector3* Scale); + static void SetWorldTransform(USceneComponent* SceneComponent, const Transform* Transform); + } + + namespace AudioComponent { + static bool IsPlaying(UAudioComponent* AudioComponent); + static bool GetPaused(UAudioComponent* AudioComponent); + static void SetSound(UAudioComponent* AudioComponent, USoundBase* Sound); + static void SetPaused(UAudioComponent* AudioComponent, bool Value); + static void Play(UAudioComponent* AudioComponent); + static void Stop(UAudioComponent* AudioComponent); + static void FadeIn(UAudioComponent* AudioComponent, float Duration, float VolumeLevel, float StartTime, AudioFadeCurve FadeCurve); + static void FadeOut(UAudioComponent* AudioComponent, float Duration, float VolumeLevel, AudioFadeCurve FadeCurve); + } + + namespace CameraComponent { + static bool GetConstrainAspectRatio(UCameraComponent* CameraComponent); + static float GetAspectRatio(UCameraComponent* CameraComponent); + static float GetFieldOfView(UCameraComponent* CameraComponent); + static float GetOrthoFarClipPlane(UCameraComponent* CameraComponent); + static float GetOrthoNearClipPlane(UCameraComponent* CameraComponent); + static float GetOrthoWidth(UCameraComponent* CameraComponent); + static bool GetLockToHeadMountedDisplay(UCameraComponent* CameraComponent); + static void SetProjectionMode(UCameraComponent* CameraComponent, CameraProjectionMode Mode); + static void SetConstrainAspectRatio(UCameraComponent* CameraComponent, bool Value); + static void SetAspectRatio(UCameraComponent* CameraComponent, float Value); + static void SetFieldOfView(UCameraComponent* CameraComponent, float Value); + static void SetOrthoFarClipPlane(UCameraComponent* CameraComponent, float Value); + static void SetOrthoNearClipPlane(UCameraComponent* CameraComponent, float Value); + static void SetOrthoWidth(UCameraComponent* CameraComponent, float Value); + static void SetLockToHeadMountedDisplay(UCameraComponent* CameraComponent, bool Value); + } + + namespace ChildActorComponent { + static AActor* GetChildActor(UChildActorComponent* ChildActorComponent, ActorType Type); + static AActor* SetChildActor(UChildActorComponent* ChildActorComponent, ActorType Type); + } + + namespace SpringArmComponent { + static bool IsCollisionFixApplied(USpringArmComponent* SpringArmComponent); + static bool GetDrawDebugLagMarkers(USpringArmComponent* SpringArmComponent); + static bool GetCollisionTest(USpringArmComponent* SpringArmComponent); + static bool GetCameraPositionLag(USpringArmComponent* SpringArmComponent); + static bool GetCameraRotationLag(USpringArmComponent* SpringArmComponent); + static bool GetCameraLagSubstepping(USpringArmComponent* SpringArmComponent); + static bool GetInheritPitch(USpringArmComponent* SpringArmComponent); + static bool GetInheritRoll(USpringArmComponent* SpringArmComponent); + static bool GetInheritYaw(USpringArmComponent* SpringArmComponent); + static float GetCameraLagMaxDistance(USpringArmComponent* SpringArmComponent); + static float GetCameraLagMaxTimeStep(USpringArmComponent* SpringArmComponent); + static float GetCameraPositionLagSpeed(USpringArmComponent* SpringArmComponent); + static float GetCameraRotationLagSpeed(USpringArmComponent* SpringArmComponent); + static CollisionChannel GetProbeChannel(USpringArmComponent* SpringArmComponent); + static float GetProbeSize(USpringArmComponent* SpringArmComponent); + static void GetSocketOffset(USpringArmComponent* SpringArmComponent, Vector3* Value); + static float GetTargetArmLength(USpringArmComponent* SpringArmComponent); + static void GetTargetOffset(USpringArmComponent* SpringArmComponent, Vector3* Value); + static void GetUnfixedCameraPosition(USpringArmComponent* SpringArmComponent, Vector3* Value); + static void GetDesiredRotation(USpringArmComponent* SpringArmComponent, Quaternion* Value); + static void GetTargetRotation(USpringArmComponent* SpringArmComponent, Quaternion* Value); + static bool GetUsePawnControlRotation(USpringArmComponent* SpringArmComponent); + static void SetDrawDebugLagMarkers(USpringArmComponent* SpringArmComponent, bool Value); + static void SetCollisionTest(USpringArmComponent* SpringArmComponent, bool Value); + static void SetCameraPositionLag(USpringArmComponent* SpringArmComponent, bool Value); + static void SetCameraRotationLag(USpringArmComponent* SpringArmComponent, bool Value); + static void SetCameraLagSubstepping(USpringArmComponent* SpringArmComponent, bool Value); + static void SetInheritPitch(USpringArmComponent* SpringArmComponent, bool Value); + static void SetInheritRoll(USpringArmComponent* SpringArmComponent, bool Value); + static void SetInheritYaw(USpringArmComponent* SpringArmComponent, bool Value); + static void SetCameraLagMaxDistance(USpringArmComponent* SpringArmComponent, float Value); + static void SetCameraLagMaxTimeStep(USpringArmComponent* SpringArmComponent, float Value); + static void SetCameraPositionLagSpeed(USpringArmComponent* SpringArmComponent, float Value); + static void SetCameraRotationLagSpeed(USpringArmComponent* SpringArmComponent, float Value); + static void SetProbeChannel(USpringArmComponent* SpringArmComponent, CollisionChannel Value); + static void SetProbeSize(USpringArmComponent* SpringArmComponent, float Value); + static void SetSocketOffset(USpringArmComponent* SpringArmComponent, const Vector3* Value); + static void SetTargetArmLength(USpringArmComponent* SpringArmComponent, float Value); + static void SetTargetOffset(USpringArmComponent* SpringArmComponent, const Vector3* Value); + static void SetUsePawnControlRotation(USpringArmComponent* SpringArmComponent, bool value); + } + + namespace PostProcessComponent { + static bool GetEnabled(UPostProcessComponent* PostProcessComponent); + static float GetBlendRadius(UPostProcessComponent* PostProcessComponent); + static float GetBlendWeight(UPostProcessComponent* PostProcessComponent); + static bool GetUnbound(UPostProcessComponent* PostProcessComponent); + static float GetPriority(UPostProcessComponent* PostProcessComponent); + static void SetEnabled(UPostProcessComponent* PostProcessComponent, bool Value); + static void SetBlendRadius(UPostProcessComponent* PostProcessComponent, float Value); + static void SetBlendWeight(UPostProcessComponent* PostProcessComponent, float Value); + static void SetUnbound(UPostProcessComponent* PostProcessComponent, bool Value); + static void SetPriority(UPostProcessComponent* PostProcessComponent, float Priority); + } + + namespace PrimitiveComponent { + static bool IsGravityEnabled(UPrimitiveComponent* PrimitiveComponent); + static bool IsOverlappingComponent(UPrimitiveComponent* PrimitiveComponent, UPrimitiveComponent* Other); + static void ForEachOverlappingComponent(UPrimitiveComponent* PrimitiveComponent, UPrimitiveComponent** Array, int32* Elements); + static void AddAngularImpulseInDegrees(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const char* BoneName, bool VelocityChange); + static void AddAngularImpulseInRadians(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const char* BoneName, bool VelocityChange); + static void AddForce(UPrimitiveComponent* PrimitiveComponent, const Vector3* Force, const char* BoneName, bool AccelerationChange); + static void AddForceAtLocation(UPrimitiveComponent* PrimitiveComponent, const Vector3* Force, const Vector3* Location, const char* BoneName, bool LocalSpace); + static void AddImpulse(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const char* BoneName, bool VelocityChange); + static void AddImpulseAtLocation(UPrimitiveComponent* PrimitiveComponent, const Vector3* Impulse, const Vector3* Location, const char* BoneName); + static void AddRadialForce(UPrimitiveComponent* PrimitiveComponent, const Vector3* Origin, float Radius, float Strength, bool LinearFalloff, bool AccelerationChange); + static void AddRadialImpulse(UPrimitiveComponent* PrimitiveComponent, const Vector3* Origin, float Radius, float Strength, bool LinearFalloff, bool AccelerationChange); + static void AddTorqueInDegrees(UPrimitiveComponent* PrimitiveComponent, const Vector3* Torque, const char* BoneName, bool AccelerationChange); + static void AddTorqueInRadians(UPrimitiveComponent* PrimitiveComponent, const Vector3* Torque, const char* BoneName, bool AccelerationChange); + static float GetMass(UPrimitiveComponent* PrimitiveComponent); + static void GetPhysicsLinearVelocity(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const char* BoneName); + static void GetPhysicsLinearVelocityAtPoint(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const Vector3* Point, const char* BoneName); + static void GetPhysicsAngularVelocityInDegrees(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const char* BoneName); + static void GetPhysicsAngularVelocityInRadians(UPrimitiveComponent* PrimitiveComponent, Vector3* Value, const char* BoneName); + static bool GetCastShadow(UPrimitiveComponent* PrimitiveComponent); + static bool GetOnlyOwnerSee(UPrimitiveComponent* PrimitiveComponent); + static bool GetOwnerNoSee(UPrimitiveComponent* PrimitiveComponent); + static bool GetIgnoreRadialForce(UPrimitiveComponent* PrimitiveComponent); + static bool GetIgnoreRadialImpulse(UPrimitiveComponent* PrimitiveComponent); + static UMaterialInstanceDynamic* GetMaterial(UPrimitiveComponent* PrimitiveComponent, int32 ElementIndex); + static int32 GetMaterialsNumber(UPrimitiveComponent* PrimitiveComponent); + static float GetDistanceToCollision(UPrimitiveComponent* PrimitiveComponent, const Vector3* Point, Vector3* ClosestPointOnCollision); + static bool GetSquaredDistanceToCollision(UPrimitiveComponent* PrimitiveComponent, const Vector3* Point, float* SquaredDistance, Vector3* ClosestPointOnCollision); + static float GetAngularDamping(UPrimitiveComponent* PrimitiveComponent); + static float GetLinearDamping(UPrimitiveComponent* PrimitiveComponent); + static void SetGenerateOverlapEvents(UPrimitiveComponent* PrimitiveComponent, bool Value); + static void SetGenerateHitEvents(UPrimitiveComponent* PrimitiveComponent, bool Value); + static void SetMass(UPrimitiveComponent* PrimitiveComponent, float Mass, const char* BoneName); + static void SetCenterOfMass(UPrimitiveComponent* PrimitiveComponent, const Vector3* Offset, const char* BoneName); + static void SetPhysicsLinearVelocity(UPrimitiveComponent* PrimitiveComponent, const Vector3* Velocity, bool AddToCurrent, const char* BoneName); + static void SetPhysicsAngularVelocityInDegrees(UPrimitiveComponent* PrimitiveComponent, const Vector3* AngularVelocity, bool AddToCurrent, const char* BoneName); + static void SetPhysicsAngularVelocityInRadians(UPrimitiveComponent* PrimitiveComponent, const Vector3* AngularVelocity, bool AddToCurrent, const char* BoneName); + static void SetPhysicsMaxAngularVelocityInDegrees(UPrimitiveComponent* PrimitiveComponent, float MaxAngularVelocity, bool AddToCurrent, const char* BoneName); + static void SetPhysicsMaxAngularVelocityInRadians(UPrimitiveComponent* PrimitiveComponent, float MaxAngularVelocity, bool AddToCurrent, const char* BoneName); + static void SetCastShadow(UPrimitiveComponent* PrimitiveComponent, bool Value); + static void SetOnlyOwnerSee(UPrimitiveComponent* PrimitiveComponent, bool Value); + static void SetOwnerNoSee(UPrimitiveComponent* PrimitiveComponent, bool Value); + static void SetIgnoreRadialForce(UPrimitiveComponent* PrimitiveComponent, bool Value); + static void SetIgnoreRadialImpulse(UPrimitiveComponent* PrimitiveComponent, bool Value); + static void SetMaterial(UPrimitiveComponent* PrimitiveComponent, int32 ElementIndex, UMaterialInterface* Material); + static void SetSimulatePhysics(UPrimitiveComponent* PrimitiveComponent, bool Value); + static void SetAngularDamping(UPrimitiveComponent* PrimitiveComponent, float Value); + static void SetLinearDamping(UPrimitiveComponent* PrimitiveComponent, float Value); + static void SetEnableGravity(UPrimitiveComponent* PrimitiveComponent, bool Value); + static void SetCollisionMode(UPrimitiveComponent* PrimitiveComponent, CollisionMode Mode); + static void SetCollisionChannel(UPrimitiveComponent* PrimitiveComponent, CollisionChannel Channel); + static void SetCollisionProfileName(UPrimitiveComponent* PrimitiveComponent, const char* ProfileName, bool UpdateOverlaps); + static void SetCollisionResponseToChannel(UPrimitiveComponent* PrimitiveComponent, CollisionChannel Channel, CollisionResponse Response); + static void SetCollisionResponseToAllChannels(UPrimitiveComponent* PrimitiveComponent, CollisionResponse Response); + static void SetIgnoreActorWhenMoving(UPrimitiveComponent* PrimitiveComponent, AActor* Actor, bool Value); + static void SetIgnoreComponentWhenMoving(UPrimitiveComponent* PrimitiveComponent, UPrimitiveComponent* Component, bool Value); + static void ClearMoveIgnoreActors(UPrimitiveComponent* PrimitiveComponent); + static void ClearMoveIgnoreComponents(UPrimitiveComponent* PrimitiveComponent); + static UMaterialInstanceDynamic* CreateAndSetMaterialInstanceDynamic(UPrimitiveComponent* PrimitiveComponent, int32 ElementIndex); + static void RegisterEvent(UPrimitiveComponent* PrimitiveComponent, ComponentEventType Type); + static void UnregisterEvent(UPrimitiveComponent* PrimitiveComponent, ComponentEventType Type); + } + + namespace ShapeComponent { + static bool GetDynamicObstacle(UShapeComponent* ShapeComponent); + static int32 GetShapeColor(UShapeComponent* ShapeComponent); + static void SetDynamicObstacle(UShapeComponent* ShapeComponent, bool Value); + static void SetShapeColor(UShapeComponent* ShapeComponent, Color Value); + } + + namespace BoxComponent { + static void GetScaledBoxExtent(UBoxComponent* BoxComponent, Vector3* Value); + static void GetUnscaledBoxExtent(UBoxComponent* BoxComponent, Vector3* Value); + static void SetBoxExtent(UBoxComponent* BoxComponent, const Vector3* Extent, bool UpdateOverlaps); + static void InitBoxExtent(UBoxComponent* BoxComponent, const Vector3* Extent); + } + + namespace SphereComponent { + static float GetScaledSphereRadius(USphereComponent* SphereComponent); + static float GetUnscaledSphereRadius(USphereComponent* SphereComponent); + static float GetShapeScale(USphereComponent* SphereComponent); + static void SetSphereRadius(USphereComponent* SphereComponent, float SphereRadius, bool UpdateOverlaps); + static void InitSphereRadius(USphereComponent* SphereComponent, float SphereRadius); + } + + namespace CapsuleComponent { + static float GetScaledCapsuleRadius(UCapsuleComponent* CapsuleComponent); + static float GetUnscaledCapsuleRadius(UCapsuleComponent* CapsuleComponent); + static float GetShapeScale(UCapsuleComponent* CapsuleComponent); + static void GetScaledCapsuleSize(UCapsuleComponent* CapsuleComponent, float* Radius, float* HalfHeight); + static void GetUnscaledCapsuleSize(UCapsuleComponent* CapsuleComponent, float* Radius, float* HalfHeight); + static void SetCapsuleRadius(UCapsuleComponent* CapsuleComponent, float Radius, bool UpdateOverlaps); + static void SetCapsuleSize(UCapsuleComponent* CapsuleComponent, float Radius, float HalfHeight, bool UpdateOverlaps); + static void InitCapsuleSize(UCapsuleComponent* CapsuleComponent, float Radius, float HalfHeight); + } + + namespace MeshComponent { + static bool IsValidMaterialSlotName(UMeshComponent* MeshComponent, const char* MaterialSlotName); + static int32 GetMaterialIndex(UMeshComponent* MeshComponent, const char* MaterialSlotName); + } + + namespace TextRenderComponent { + static void SetFont(UTextRenderComponent* TextRenderComponent, UFont* Value); + static void SetText(UTextRenderComponent* TextRenderComponent, const char* Value); + static void SetTextMaterial(UTextRenderComponent* TextRenderComponent, UMaterialInterface* Material); + static void SetTextRenderColor(UTextRenderComponent* TextRenderComponent, Color Value); + static void SetHorizontalAlignment(UTextRenderComponent* TextRenderComponent, HorizontalTextAligment Value); + static void SetHorizontalSpacingAdjustment(UTextRenderComponent* TextRenderComponent, float Value); + static void SetVerticalAlignment(UTextRenderComponent* TextRenderComponent, VerticalTextAligment Value); + static void SetVerticalSpacingAdjustment(UTextRenderComponent* TextRenderComponent, float Value); + static void SetScale(UTextRenderComponent* TextRenderComponent, const Vector2* Value); + static void SetWorldSize(UTextRenderComponent* TextRenderComponent, float Value); + } + + namespace LightComponentBase { + static float GetIntensity(ULightComponentBase* LightComponentBase); + static bool GetCastShadows(ULightComponentBase* LightComponentBase); + static void SetCastShadows(ULightComponentBase* LightComponentBase, bool Value); + } + + namespace LightComponent { + static void SetIntensity(ULightComponent* LightComponent, float Value); + static void SetLightColor(ULightComponent* LightComponent, const LinearColor* Value); + } + + namespace DirectionalLightComponent { + + } + + namespace MotionControllerComponent { + static bool IsTracked(UMotionControllerComponent* MotionControllerComponent); + static bool GetDisplayDeviceModel(UMotionControllerComponent* MotionControllerComponent); + static bool GetDisableLowLatencyUpdate(UMotionControllerComponent* MotionControllerComponent); + static ControllerHand GetTrackingSource(UMotionControllerComponent* MotionControllerComponent); + static void SetDisplayDeviceModel(UMotionControllerComponent* MotionControllerComponent, bool Value); + static void SetDisableLowLatencyUpdate(UMotionControllerComponent* MotionControllerComponent, bool Value); + static void SetTrackingSource(UMotionControllerComponent* MotionControllerComponent, ControllerHand Value); + static void SetTrackingMotionSource(UMotionControllerComponent* MotionControllerComponent, const char* Source); + static void SetAssociatedPlayerIndex(UMotionControllerComponent* MotionControllerComponent, int32 PlayerIndex); + static void SetCustomDisplayMesh(UMotionControllerComponent* MotionControllerComponent, UStaticMesh* StaticMesh); + static void SetDisplayModelSource(UMotionControllerComponent* MotionControllerComponent, const char* Source); + } + + namespace StaticMeshComponent { + static void GetLocalBounds(UStaticMeshComponent* StaticMeshComponent, Vector3* Min, Vector3* Max); + static UStaticMesh* GetStaticMesh(UStaticMeshComponent* StaticMeshComponent); + static bool SetStaticMesh(UStaticMeshComponent* StaticMeshComponent, UStaticMesh* StaticMesh); + } + + namespace InstancedStaticMeshComponent { + static int32 GetInstanceCount(UInstancedStaticMeshComponent* InstancedStaticMeshComponent); + static bool GetInstanceTransform(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 InstanceIndex, Transform* Value, bool WorldSpace); + static void AddInstance(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, const Transform* InstanceTransform); + static void AddInstances(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 EndInstanceIndex, const Transform InstanceTransforms[]); + static bool UpdateInstanceTransform(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 InstanceIndex, const Transform* InstanceTransform, bool WorldSpace, bool MarkRenderStateDirty, bool Teleport); + static bool BatchUpdateInstanceTransforms(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 StartInstanceIndex, int32 EndInstanceIndex, const Transform InstanceTransforms[], bool WorldSpace, bool MarkRenderStateDirty, bool Teleport); + static bool RemoveInstance(UInstancedStaticMeshComponent* InstancedStaticMeshComponent, int32 InstanceIndex); + static void ClearInstances(UInstancedStaticMeshComponent* InstancedStaticMeshComponent); + } + + namespace HierarchicalInstancedStaticMeshComponent { + static bool GetDisableCollision(UHierarchicalInstancedStaticMeshComponent* HierarchicalInstancedStaticMeshComponent); + static void SetDisableCollision(UHierarchicalInstancedStaticMeshComponent* HierarchicalInstancedStaticMeshComponent, bool Value); + } + + namespace SkinnedMeshComponent { + static int32 GetBonesNumber(USkinnedMeshComponent* SkinnedMeshComponent); + static int32 GetBoneIndex(USkinnedMeshComponent* SkinnedMeshComponent, const char* BoneName); + static void GetBoneName(USkinnedMeshComponent* SkinnedMeshComponent, int32 BoneIndex, char* BoneName); + static void GetBoneTransform(USkinnedMeshComponent* SkinnedMeshComponent, int32 BoneIndex, Transform* Value); + static void SetSkeletalMesh(USkinnedMeshComponent* SkinnedMeshComponent, USkeletalMesh* SkeletalMesh, bool ReinitializePose); + } + + namespace SkeletalMeshComponent { + static bool IsPlaying(USkeletalMeshComponent* SkeletalMeshComponent); + static UAnimInstance* GetAnimationInstance(USkeletalMeshComponent* SkeletalMeshComponent); + static void SetAnimation(USkeletalMeshComponent* SkeletalMeshComponent, UAnimationAsset* Asset); + static void SetAnimationMode(USkeletalMeshComponent* SkeletalMeshComponent, AnimationMode Mode); + static void SetAnimationBlueprint(USkeletalMeshComponent* SkeletalMeshComponent, UObject* Blueprint); + static void Play(USkeletalMeshComponent* SkeletalMeshComponent, bool Loop); + static void PlayAnimation(USkeletalMeshComponent* SkeletalMeshComponent, UAnimationAsset* Asset, bool Loop); + static void Stop(USkeletalMeshComponent* SkeletalMeshComponent); + } + + namespace SplineComponent { + static bool IsClosedLoop(USplineComponent* SplineComponent); + static float GetDuration(USplineComponent* SplineComponent); + static SplinePointType GetSplinePointType(USplineComponent* SplineComponent, int32 PointIndex); + static int32 GetSplinePointsNumber(USplineComponent* SplineComponent); + static int32 GetSplineSegmentsNumber(USplineComponent* SplineComponent); + static void GetTangentAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetTangentAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value); + static void GetTransformAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Transform* Value); + static void GetTransformAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, bool UseScale, Transform* Value); + static void GetArriveTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetDefaultUpVector(USplineComponent* SplineComponent, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetDirectionAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetDirectionAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetDirectionAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value); + static float GetDistanceAlongSplineAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex); + static void GetLeaveTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetLocationAndTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Location, Vector3* Tangent); + static void GetLocationAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetLocationAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetLocationAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetRightVectorAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetRightVectorAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetRightVectorAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value); + static float GetRollAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace); + static float GetRollAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace); + static float GetRollAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity); + static void GetRotationAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Quaternion* Value); + static void GetRotationAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Quaternion* Value); + static void GetRotationAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Quaternion* Value); + static void GetScaleAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, Vector3* Value); + static void GetScaleAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, Vector3* Value); + static void GetScaleAtTime(USplineComponent* SplineComponent, float Time, bool UseConstantVelocity, Vector3* Value); + static float GetSplineLength(USplineComponent* SplineComponent); + static void GetTransformAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, bool UseScale, Transform* Value); + static void GetUpVectorAtDistanceAlongSpline(USplineComponent* SplineComponent, float Distance, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetUpVectorAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void GetUpVectorAtTime(USplineComponent* SplineComponent, float Time, SplineCoordinateSpace CoordinateSpace, bool UseConstantVelocity, Vector3* Value); + static void SetDuration(USplineComponent* SplineComponent, float Value); + static void SetSplinePointType(USplineComponent* SplineComponent, int32 PointIndex, SplinePointType Type, bool UpdateSpline); + static void SetClosedLoop(USplineComponent* SplineComponent, bool Value, bool UpdateSpline); + static void SetDefaultUpVector(USplineComponent* SplineComponent, const Vector3* Value, SplineCoordinateSpace CoordinateSpace); + static void SetLocationAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* Value, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline); + static void SetTangentAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* Tangent, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline); + static void SetTangentsAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* ArriveTangent, const Vector3* LeaveTangent, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline); + static void SetUpVectorAtSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, const Vector3* UpVector, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline); + static void AddSplinePoint(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline); + static void AddSplinePointAtIndex(USplineComponent* SplineComponent, const Vector3* Location, int32 PointIndex, SplineCoordinateSpace CoordinateSpace, bool UpdateSpline); + static void ClearSplinePoints(USplineComponent* SplineComponent, bool UpdateSpline); + static void FindDirectionClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void FindLocationClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void FindUpVectorClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void FindRightVectorClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static float FindRollClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace); + static void FindScaleClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, Vector3* Value); + static void FindTangentClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, Vector3* Value); + static void FindTransformClosestToWorldLocation(USplineComponent* SplineComponent, const Vector3* Location, SplineCoordinateSpace CoordinateSpace, bool UseScale, Transform* Value); + static void RemoveSplinePoint(USplineComponent* SplineComponent, int32 PointIndex, bool UpdateSpline); + static void UpdateSpline(USplineComponent* SplineComponent); + } + + namespace RadialForceComponent { + static bool GetIgnoreOwningActor(URadialForceComponent* RadialForceComponent); + static bool GetImpulseVelocityChange(URadialForceComponent* RadialForceComponent); + static bool GetLinearFalloff(URadialForceComponent* RadialForceComponent); + static float GetForceStrength(URadialForceComponent* RadialForceComponent); + static float GetImpulseStrength(URadialForceComponent* RadialForceComponent); + static float GetRadius(URadialForceComponent* RadialForceComponent); + static void SetIgnoreOwningActor(URadialForceComponent* RadialForceComponent, bool Value); + static void SetImpulseVelocityChange(URadialForceComponent* RadialForceComponent, bool Value); + static void SetLinearFalloff(URadialForceComponent* RadialForceComponent, bool Value); + static void SetForceStrength(URadialForceComponent* RadialForceComponent, float Value); + static void SetImpulseStrength(URadialForceComponent* RadialForceComponent, float Value); + static void SetRadius(URadialForceComponent* RadialForceComponent, float Value); + static void AddCollisionChannelToAffect(URadialForceComponent* RadialForceComponent, CollisionChannel Channel); + static void FireImpulse(URadialForceComponent* RadialForceComponent); + } + + namespace MaterialInterface { + static bool IsTwoSided(UMaterialInterface* MaterialInterface); + } + + namespace Material { + static bool IsDefaultMaterial(UMaterial* Material); + } + + namespace MaterialInstance { + static bool IsChildOf(UMaterialInstance* MaterialInstance, UMaterialInterface* Material); + static UMaterialInstanceDynamic* GetParent(UMaterialInstance* MaterialInstance); + } + + namespace MaterialInstanceDynamic { + static void ClearParameterValues(UMaterialInstanceDynamic* MaterialInstanceDynamic); + static void SetTextureParameterValue(UMaterialInstanceDynamic* MaterialInstanceDynamic, const char* ParameterName, UTexture* Value); + static void SetVectorParameterValue(UMaterialInstanceDynamic* MaterialInstanceDynamic, const char* ParameterName, const LinearColor* Value); + static void SetScalarParameterValue(UMaterialInstanceDynamic* MaterialInstanceDynamic, const char* ParameterName, float Value); + } +} \ No newline at end of file diff --git a/Plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRLibrary.h b/Plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRLibrary.h new file mode 100644 index 00000000..eee60a75 --- /dev/null +++ b/Plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRLibrary.h @@ -0,0 +1,63 @@ +/* + * Unreal Engine .NET 5 integration + * Copyright (c) 2021 Stanislav Denisov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#pragma once + +#include "Kismet/BlueprintFunctionLibrary.h" +#include "UnrealCLRLibrary.generated.h" + +USTRUCT(BlueprintType) +struct UNREALCLR_API FManagedFunction { + GENERATED_BODY() + + public: + + void* Pointer; + + FManagedFunction(); +}; + +UCLASS() +class UNREALCLR_API UUnrealCLRLibrary : public UBlueprintFunctionLibrary { + GENERATED_UCLASS_BODY() + + public: + + UFUNCTION(BlueprintCallable, BlueprintPure = false, Category = ".NET", meta = (ToolTip = "Executes the managed function with optional object reference argument")) + static void ExecuteManagedFunction(FManagedFunction ManagedFunction, UObject* Object); + + UFUNCTION(BlueprintCallable, BlueprintPure = false, Category = ".NET", meta = (ToolTip = "Finds the managed function from loaded assembly, optional parameter suppresses errors if the function was not found")) + static FManagedFunction FindManagedFunction(FString Method, bool Optional, bool& Result); +}; + +UCLASS() +class UNREALCLR_API UUnrealCLRCharacter : public UObject { + GENERATED_UCLASS_BODY() + + public: + + void* LandedCallback; + + UFUNCTION() + void Landed(const FHitResult& Hit); +}; \ No newline at end of file diff --git a/Plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRManager.h b/Plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRManager.h new file mode 100644 index 00000000..7c160b72 --- /dev/null +++ b/Plugins/UnrealCLR/Source/UnrealCLR/Public/UnrealCLRManager.h @@ -0,0 +1,77 @@ +/* + * Unreal Engine .NET 5 integration + * Copyright (c) 2021 Stanislav Denisov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Actor.h" +#include "UnrealCLRManager.generated.h" + +UCLASS() +class UNREALCLR_API UUnrealCLRManager : public UObject { + GENERATED_BODY() + + public: + + UFUNCTION() + void ActorBeginOverlap(AActor* OverlapActor, AActor* OtherActor); + + UFUNCTION() + void ActorEndOverlap(AActor* OverlapActor, AActor* OtherActor); + + UFUNCTION() + void ActorHit(AActor* HitActor, AActor* OtherActor, FVector NormalImpulse, const FHitResult& Hit); + + UFUNCTION() + void ActorBeginCursorOver(AActor* Actor); + + UFUNCTION() + void ActorEndCursorOver(AActor* Actor); + + UFUNCTION() + void ActorClicked(AActor* Actor, FKey Button); + + UFUNCTION() + void ActorReleased(AActor* Actor, FKey Button); + + UFUNCTION() + void ComponentBeginOverlap(UPrimitiveComponent* OverlapComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, int32 OtherBodyIndex, bool FromSweep, const FHitResult& SweepResult); + + UFUNCTION() + void ComponentEndOverlap(UPrimitiveComponent* OverlapComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, int32 OtherBodyIndex); + + UFUNCTION() + void ComponentHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComponent, FVector NormalImpulse, const FHitResult& Hit); + + UFUNCTION() + void ComponentBeginCursorOver(UPrimitiveComponent* Component); + + UFUNCTION() + void ComponentEndCursorOver(UPrimitiveComponent* Component); + + UFUNCTION() + void ComponentClicked(UPrimitiveComponent* Component, FKey Key); + + UFUNCTION() + void ComponentReleased(UPrimitiveComponent* Component, FKey Key); +}; \ No newline at end of file diff --git a/Plugins/UnrealCLR/Source/UnrealCLR/UnrealCLR.Build.cs b/Plugins/UnrealCLR/Source/UnrealCLR/UnrealCLR.Build.cs new file mode 100644 index 00000000..991c7ddc --- /dev/null +++ b/Plugins/UnrealCLR/Source/UnrealCLR/UnrealCLR.Build.cs @@ -0,0 +1,97 @@ +/* + * Unreal Engine .NET 5 integration + * Copyright (c) 2021 Stanislav Denisov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +using System; +using System.IO; +using UnrealBuildTool; + +public class UnrealCLR : ModuleRules { + public UnrealCLR(ReadOnlyTargetRules Target) : base(Target) { + #if UE_4_24_OR_LATER + bLegacyPublicIncludePaths = false; + DefaultBuildSettings = BuildSettingsVersion.V2; + #else + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + #endif + + PublicIncludePaths.AddRange(new string[] { }); + + PrivateIncludePaths.AddRange(new string[] { }); + + PublicDependencyModuleNames.AddRange(new string[] { + "Core" + }); + + PrivateDependencyModuleNames.AddRange(new string[] { + "AIModule", + "AssetRegistry", + "CoreUObject", + "Engine", + "HeadMountedDisplay", + "InputCore", + "Slate", + "SlateCore" + }); + + DynamicallyLoadedModuleNames.AddRange(new string[] { }); + + if (Target.bBuildEditor) { + PrivateDependencyModuleNames.AddRange(new string[] { + "UnrealEd" + }); + } else { + string runtimePath = null; + + if (Target.Platform == UnrealTargetPlatform.Win64) + runtimePath = Path.Combine(ModuleDirectory, "../../Runtime/Win64"); + else if (Target.Platform == UnrealTargetPlatform.Linux) + runtimePath = Path.Combine(ModuleDirectory, "../../Runtime/Linux"); + else if (Target.Platform == UnrealTargetPlatform.Mac) + runtimePath = Path.Combine(ModuleDirectory, "../../Runtime/Mac"); + else + throw new Exception("Unknown platform"); + + string[] files = Directory.GetFiles(runtimePath, "*.*", SearchOption.AllDirectories); + + foreach (string file in files) { + RuntimeDependencies.Add(file); + } + + files = Directory.GetFiles(Path.Combine(ModuleDirectory, "../../Managed"), "*.*", SearchOption.AllDirectories); + + foreach (string file in files) { + RuntimeDependencies.Add(file); + } + + string userAssemblies = Path.Combine(PluginDirectory , "../../Managed"); + + if (Directory.Exists(userAssemblies)) { + files = Directory.GetFiles(userAssemblies, "*.*", SearchOption.AllDirectories); + + foreach (string file in files) { + RuntimeDependencies.Add(file); + } + } + } + } +} \ No newline at end of file diff --git a/Plugins/UnrealCLR/UnrealCLR.uplugin b/Plugins/UnrealCLR/UnrealCLR.uplugin new file mode 100644 index 00000000..6e80d507 --- /dev/null +++ b/Plugins/UnrealCLR/UnrealCLR.uplugin @@ -0,0 +1,30 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "1.30", + "FriendlyName": "UnrealCLR", + "Description": ".NET 5 integration", + "Category": "Scripting", + "CreatedBy": "nxrighthere", + "CreatedByURL": "https://github.com/nxrighthere", + "DocsURL": "https://github.com/nxrighthere/UnrealCLR", + "MarketplaceURL": "", + "SupportURL": "https://github.com/nxrighthere/UnrealCLR/discussions", + "EnabledByDefault": true, + "CanContainContent": false, + "IsBetaVersion": false, + "IsExperimentalVersion": false, + "Installed": false, + "Modules": [ + { + "Name": "UnrealCLR", + "Type": "Runtime", + "LoadingPhase": "PreLoadingScreen", + "WhitelistPlatforms": [ + "Win64", + "Linux", + "Mac" + ] + } + ] +} \ No newline at end of file diff --git a/netLocation.txt b/netLocation.txt new file mode 100644 index 00000000..664a1b74 --- /dev/null +++ b/netLocation.txt @@ -0,0 +1 @@ +C:\Users\GRAFF interactive\Downloads\Telegram Desktop \ No newline at end of file diff --git a/piterGraphicsC.uproject b/piterGraphicsC.uproject index a5c4c8cd..d4221f70 100644 --- a/piterGraphicsC.uproject +++ b/piterGraphicsC.uproject @@ -164,10 +164,6 @@ "Name": "GoogleCloudMessaging", "Enabled": false }, - { - "Name": "CryptoKeys", - "Enabled": false - }, { "Name": "ChaosClothEditor", "Enabled": false @@ -258,6 +254,10 @@ "Name": "VaRest", "Enabled": true, "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/e47be161e7a24e928560290abd5dcc4f" + }, + { + "Name": "PlatformCrypto", + "Enabled": false } ], "TargetPlatforms": [