This commit is contained in:
Exception
2026-05-09 14:13:43 -04:00
parent 8bd09e08c3
commit 46589f2ef3
202 changed files with 11550 additions and 0 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1026
View File
@@ -0,0 +1,1026 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
IIS configuration sections.
For schema documentation, see
%IIS_BIN%\config\schema\IIS_schema.xml.
Please make a backup of this file before making any changes to it.
NOTE: The following environment variables are available to be used
within this file and are understood by the IIS Express.
%IIS_USER_HOME% - The IIS Express home directory for the user
%IIS_SITES_HOME% - The default home directory for sites
%IIS_BIN% - The location of the IIS Express binaries
%SYSTEMDRIVE% - The drive letter of %IIS_BIN%
-->
<configuration>
<!--
The <configSections> section controls the registration of sections.
Section is the basic unit of deployment, locking, searching and
containment for configuration settings.
Every section belongs to one section group.
A section group is a container of logically-related sections.
Sections cannot be nested.
Section groups may be nested.
<section
name="" [Required, Collection Key] [XML name of the section]
allowDefinition="Everywhere" [MachineOnly|MachineToApplication|AppHostOnly|Everywhere] [Level where it can be set]
overrideModeDefault="Allow" [Allow|Deny] [Default delegation mode]
allowLocation="true" [true|false] [Allowed in location tags]
/>
The recommended way to unlock sections is by using a location tag:
<location path="Default Web Site" overrideMode="Allow">
<system.webServer>
<asp />
</system.webServer>
</location>
-->
<configSections>
<sectionGroup name="system.applicationHost">
<section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="serviceAutoStartProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
</sectionGroup>
<sectionGroup name="system.webServer">
<section name="asp" overrideModeDefault="Deny" />
<section name="caching" overrideModeDefault="Allow" />
<section name="cgi" overrideModeDefault="Deny" />
<section name="defaultDocument" overrideModeDefault="Allow" />
<section name="directoryBrowse" overrideModeDefault="Allow" />
<section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="handlers" overrideModeDefault="Deny" />
<section name="httpCompression" overrideModeDefault="Allow" allowDefinition="Everywhere" />
<section name="httpErrors" overrideModeDefault="Allow" />
<section name="httpLogging" overrideModeDefault="Deny" />
<section name="httpProtocol" overrideModeDefault="Allow" />
<section name="httpRedirect" overrideModeDefault="Allow" />
<section name="httpTracing" overrideModeDefault="Deny" />
<section name="isapiFilters" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
<section name="applicationInitialization" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
<section name="odbcLogging" overrideModeDefault="Deny" />
<sectionGroup name="security">
<section name="access" overrideModeDefault="Deny" />
<section name="applicationDependencies" overrideModeDefault="Deny" />
<sectionGroup name="authentication">
<section name="anonymousAuthentication" overrideModeDefault="Deny" />
<section name="basicAuthentication" overrideModeDefault="Deny" />
<section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" />
<section name="digestAuthentication" overrideModeDefault="Deny" />
<section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" />
<section name="windowsAuthentication" overrideModeDefault="Deny" />
</sectionGroup>
<section name="authorization" overrideModeDefault="Allow" />
<section name="ipSecurity" overrideModeDefault="Deny" />
<section name="dynamicIpSecurity" overrideModeDefault="Deny" />
<section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="requestFiltering" overrideModeDefault="Allow" />
</sectionGroup>
<section name="serverRuntime" overrideModeDefault="Deny" />
<section name="serverSideInclude" overrideModeDefault="Deny" />
<section name="staticContent" overrideModeDefault="Allow" />
<sectionGroup name="tracing">
<section name="traceFailedRequests" overrideModeDefault="Allow" />
<section name="traceProviderDefinitions" overrideModeDefault="Deny" />
</sectionGroup>
<section name="urlCompression" overrideModeDefault="Allow" />
<section name="validation" overrideModeDefault="Allow" />
<sectionGroup name="webdav">
<section name="globalSettings" overrideModeDefault="Deny" />
<section name="authoring" overrideModeDefault="Deny" />
<section name="authoringRules" overrideModeDefault="Deny" />
</sectionGroup>
<sectionGroup name="rewrite">
<section name="allowedServerVariables" overrideModeDefault="Deny" />
<section name="rules" overrideModeDefault="Allow" />
<section name="outboundRules" overrideModeDefault="Allow" />
<section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
<section name="providers" overrideModeDefault="Allow" />
<section name="rewriteMaps" overrideModeDefault="Allow" />
</sectionGroup>
<section name="webSocket" overrideModeDefault="Deny" />
<section name="aspNetCore" overrideModeDefault="Allow" /></sectionGroup>
</configSections>
<configProtectedData>
<providers>
<add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
<add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAA/HKxkz6alrlAPez0IUgujj/6k3WxCDriHp6jvpv3yEZmo7h6SMzGLxo4mTrIQVHSkB7tmElHKfUFTzE2BWF7nFWHY6Z6qmGBauFzwJMwESjril7Gjz69RBFH259HQ6aRDq9Xfx7U7H4HtdmnKNqGjgl/hwPQBGeIlWiDh+sYv3vKB0QU971tjX6H2B+9armlnC8UOuA6JYMDMI/VLLL16sng0fWAy5JYe0YVABVjiAWDW264RZW9Tr1Oax4qHZKg+SdjULxeOc2YmpX+d0yeITo1HkPF1hN1gHpIPIUDo05ilHUNfR3OkjVCIQK4cFKCq1s8NH+y+13MxUC4Fn1AlQ==" />
<add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAALmU8lTC+v2qtfQiiiquvvLpUQqKLEXs+jSKoWCM/uPhyB++k4dwug19mGidNK5FYiWK2KYE1yhjVJcbp12E98Q0R2nT7eBiCMY2JairxQ591rqABK7keGaIjwH7PwGzSpILl3RJ4YFvJ/7ZXEJxeDZIjW8ZxWVXx+/VyHs9U3WguLEkgMUX3jrxJi8LouxaIVPJAv/YQ1ZCWs8zImitxX/C/7o7yaIxznfsN5nGQzQfpUDPeby99aw2zPVTtZI2LaWIBON8guABvZ6JtJVDWmfdK6sodbnwdZkr6/Z2rfvamT1dC1SpQrGG7ulR/f9/GXvCaW10ZVKxekBF/CYlNMg==" />
</providers>
</configProtectedData>
<system.applicationHost>
<applicationPools>
<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
<add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
<add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
<add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
<add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" />
<applicationPoolDefaults managedRuntimeVersion="v4.0">
<processModel loadUserProfile="true" setProfileEnvironment="false" />
</applicationPoolDefaults>
</applicationPools>
<!--
The <listenerAdapters> section defines the protocols with which the
Windows Process Activation Service (WAS) binds.
-->
<listenerAdapters>
<add name="http" />
</listenerAdapters>
<sites>
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
<siteDefaults>
<!-- To enable logging, please change the below attribute "enabled" to "true" -->
<logFile logFormat="W3C" directory="%AppData%\Microsoft\IISExpressLogs" enabled="false" />
<traceFailedRequestsLogging directory="%AppData%\Microsoft" enabled="false" maxLogFileSizeKB="1024" />
</siteDefaults>
<applicationDefaults applicationPool="Clr4IntegratedAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
<webLimits />
</system.applicationHost>
<system.webServer>
<serverRuntime />
<asp scriptErrorSentToBrowser="true">
<cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" />
<limits />
</asp>
<caching enabled="true" enableKernelCache="true">
</caching>
<cgi />
<defaultDocument enabled="true">
<files>
<add value="Default.htm" />
<add value="Default.asp" />
<add value="index.htm" />
<add value="index.html" />
<add value="iisstart.htm" />
<add value="default.aspx" />
</files>
</defaultDocument>
<directoryBrowse enabled="false" />
<fastCgi />
<!--
The <globalModules> section defines all native-code modules.
To enable a module, specify it in the <modules> section.
-->
<globalModules>
<add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" />
<add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" />
<add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" />
<add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" />
<add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" />
<add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" />
<add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" />
<add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" />
<add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" />
<add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" />
<add name="StaticFileModule" image="%IIS_BIN%\static.dll" />
<add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" />
<add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" />
<add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" />
<add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" />
<add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" />
<add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" />
<add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" />
<add name="DynamicIpRestrictionModule" image="%IIS_BIN%\diprestr.dll" />
<add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" />
<add name="CustomLoggingModule" image="%IIS_BIN%\logcust.dll" />
<add name="CustomErrorModule" image="%IIS_BIN%\custerr.dll" />
<add name="FailedRequestsTracingModule" image="%IIS_BIN%\iisfreb.dll" />
<add name="RequestMonitorModule" image="%IIS_BIN%\iisreqs.dll" />
<add name="IsapiModule" image="%IIS_BIN%\isapi.dll" />
<add name="IsapiFilterModule" image="%IIS_BIN%\filter.dll" />
<add name="CgiModule" image="%IIS_BIN%\cgi.dll" />
<add name="FastCgiModule" image="%IIS_BIN%\iisfcgi.dll" />
<!-- <add name="WebDAVModule" image="%IIS_BIN%\webdav.dll" /> -->
<add name="RewriteModule" image="%IIS_BIN%\rewrite.dll" />
<add name="ConfigurationValidationModule" image="%IIS_BIN%\validcfg.dll" />
<add name="WebSocketModule" image="%IIS_BIN%\iiswsock.dll" />
<add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" />
<add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
<add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" />
<add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
<add name="ManagedEngineV4.0_64bit" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
<add name="ApplicationInitializationModule" image="%IIS_BIN%\warmup.dll" />
<add name="AspNetCoreModule" image="%IIS_BIN%\aspnetcore.dll" />
<add name="AspNetCoreModuleV2" image="%IIS_BIN%\Asp.Net Core Module\V2\aspnetcorev2.dll" />
</globalModules>
<httpCompression directory="%TEMP%">
<scheme name="gzip" dll="%IIS_BIN%\gzip.dll" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
<add mimeType="text/event-stream" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="image/svg+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
<error statusCode="401" prefixLanguageFilePath="%IIS_BIN%\custerr" path="401.htm" />
<error statusCode="403" prefixLanguageFilePath="%IIS_BIN%\custerr" path="403.htm" />
<error statusCode="404" prefixLanguageFilePath="%IIS_BIN%\custerr" path="404.htm" />
<error statusCode="405" prefixLanguageFilePath="%IIS_BIN%\custerr" path="405.htm" />
<error statusCode="406" prefixLanguageFilePath="%IIS_BIN%\custerr" path="406.htm" />
<error statusCode="412" prefixLanguageFilePath="%IIS_BIN%\custerr" path="412.htm" />
<error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" />
<error statusCode="501" prefixLanguageFilePath="%IIS_BIN%\custerr" path="501.htm" />
<error statusCode="502" prefixLanguageFilePath="%IIS_BIN%\custerr" path="502.htm" />
</httpErrors>
<httpLogging dontLog="false" />
<httpProtocol>
<customHeaders>
<clear />
<add name="X-Powered-By" value="ASP.NET" />
</customHeaders>
<redirectHeaders>
<clear />
</redirectHeaders>
</httpProtocol>
<httpRedirect enabled="false" />
<httpTracing />
<isapiFilters>
<filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" />
<filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" />
<filter name="ASP.Net_2.0_for_v1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" />
<filter name="ASP.Net_4.0_32bit" path="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv4.0" />
<filter name="ASP.Net_4.0_64bit" path="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv4.0" />
</isapiFilters>
<odbcLogging />
<security>
<access sslFlags="None" />
<applicationDependencies>
<application name="Active Server Pages" groupId="ASP" />
</applicationDependencies>
<authentication>
<anonymousAuthentication enabled="true" userName="" />
<basicAuthentication enabled="false" />
<clientCertificateMappingAuthentication enabled="false" />
<digestAuthentication enabled="false" />
<iisClientCertificateMappingAuthentication enabled="false">
</iisClientCertificateMappingAuthentication>
<windowsAuthentication enabled="false">
<providers>
<add value="Negotiate" />
<add value="NTLM" />
</providers>
</windowsAuthentication>
</authentication>
<authorization>
<add accessType="Allow" users="*" />
</authorization>
<ipSecurity allowUnlisted="true" />
<isapiCgiRestriction notListedIsapisAllowed="true" notListedCgisAllowed="true">
<add path="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" />
<add path="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" />
<add path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" />
<add path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" />
</isapiCgiRestriction>
<requestFiltering>
<fileExtensions allowUnlisted="true" applyToWebDAV="true">
<add fileExtension=".asa" allowed="false" />
<add fileExtension=".asax" allowed="false" />
<add fileExtension=".ascx" allowed="false" />
<add fileExtension=".master" allowed="false" />
<add fileExtension=".skin" allowed="false" />
<add fileExtension=".browser" allowed="false" />
<add fileExtension=".sitemap" allowed="false" />
<add fileExtension=".config" allowed="false" />
<add fileExtension=".cs" allowed="false" />
<add fileExtension=".csproj" allowed="false" />
<add fileExtension=".vb" allowed="false" />
<add fileExtension=".vbproj" allowed="false" />
<add fileExtension=".webinfo" allowed="false" />
<add fileExtension=".licx" allowed="false" />
<add fileExtension=".resx" allowed="false" />
<add fileExtension=".resources" allowed="false" />
<add fileExtension=".mdb" allowed="false" />
<add fileExtension=".vjsproj" allowed="false" />
<add fileExtension=".java" allowed="false" />
<add fileExtension=".jsl" allowed="false" />
<add fileExtension=".ldb" allowed="false" />
<add fileExtension=".dsdgm" allowed="false" />
<add fileExtension=".ssdgm" allowed="false" />
<add fileExtension=".lsad" allowed="false" />
<add fileExtension=".ssmap" allowed="false" />
<add fileExtension=".cd" allowed="false" />
<add fileExtension=".dsprototype" allowed="false" />
<add fileExtension=".lsaprototype" allowed="false" />
<add fileExtension=".sdm" allowed="false" />
<add fileExtension=".sdmDocument" allowed="false" />
<add fileExtension=".mdf" allowed="false" />
<add fileExtension=".ldf" allowed="false" />
<add fileExtension=".ad" allowed="false" />
<add fileExtension=".dd" allowed="false" />
<add fileExtension=".ldd" allowed="false" />
<add fileExtension=".sd" allowed="false" />
<add fileExtension=".adprototype" allowed="false" />
<add fileExtension=".lddprototype" allowed="false" />
<add fileExtension=".exclude" allowed="false" />
<add fileExtension=".refresh" allowed="false" />
<add fileExtension=".compiled" allowed="false" />
<add fileExtension=".msgx" allowed="false" />
<add fileExtension=".vsdisco" allowed="false" />
<add fileExtension=".rules" allowed="false" />
</fileExtensions>
<verbs allowUnlisted="true" applyToWebDAV="true" />
<hiddenSegments applyToWebDAV="true">
<add segment="web.config" />
<add segment="bin" />
<add segment="App_code" />
<add segment="App_GlobalResources" />
<add segment="App_LocalResources" />
<add segment="App_WebReferences" />
<add segment="App_Data" />
<add segment="App_Browsers" />
</hiddenSegments>
</requestFiltering>
</security>
<serverSideInclude ssiExecDisable="false" />
<staticContent lockAttributes="isDocFooterFileName">
<mimeMap fileExtension=".323" mimeType="text/h323" />
<mimeMap fileExtension=".3g2" mimeType="video/3gpp2" />
<mimeMap fileExtension=".3gp2" mimeType="video/3gpp2" />
<mimeMap fileExtension=".3gp" mimeType="video/3gpp" />
<mimeMap fileExtension=".3gpp" mimeType="video/3gpp" />
<mimeMap fileExtension=".aac" mimeType="audio/aac" />
<mimeMap fileExtension=".aaf" mimeType="application/octet-stream" />
<mimeMap fileExtension=".aca" mimeType="application/octet-stream" />
<mimeMap fileExtension=".accdb" mimeType="application/msaccess" />
<mimeMap fileExtension=".accde" mimeType="application/msaccess" />
<mimeMap fileExtension=".accdt" mimeType="application/msaccess" />
<mimeMap fileExtension=".acx" mimeType="application/internet-property-stream" />
<mimeMap fileExtension=".adt" mimeType="audio/vnd.dlna.adts" />
<mimeMap fileExtension=".adts" mimeType="audio/vnd.dlna.adts" />
<mimeMap fileExtension=".afm" mimeType="application/octet-stream" />
<mimeMap fileExtension=".ai" mimeType="application/postscript" />
<mimeMap fileExtension=".aif" mimeType="audio/x-aiff" />
<mimeMap fileExtension=".aifc" mimeType="audio/aiff" />
<mimeMap fileExtension=".aiff" mimeType="audio/aiff" />
<mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" />
<mimeMap fileExtension=".application" mimeType="application/x-ms-application" />
<mimeMap fileExtension=".art" mimeType="image/x-jg" />
<mimeMap fileExtension=".asd" mimeType="application/octet-stream" />
<mimeMap fileExtension=".asf" mimeType="video/x-ms-asf" />
<mimeMap fileExtension=".asi" mimeType="application/octet-stream" />
<mimeMap fileExtension=".asm" mimeType="text/plain" />
<mimeMap fileExtension=".asr" mimeType="video/x-ms-asf" />
<mimeMap fileExtension=".asx" mimeType="video/x-ms-asf" />
<mimeMap fileExtension=".atom" mimeType="application/atom+xml" />
<mimeMap fileExtension=".au" mimeType="audio/basic" />
<mimeMap fileExtension=".avi" mimeType="video/avi" />
<mimeMap fileExtension=".axs" mimeType="application/olescript" />
<mimeMap fileExtension=".bas" mimeType="text/plain" />
<mimeMap fileExtension=".bcpio" mimeType="application/x-bcpio" />
<mimeMap fileExtension=".bin" mimeType="application/octet-stream" />
<mimeMap fileExtension=".bmp" mimeType="image/bmp" />
<mimeMap fileExtension=".c" mimeType="text/plain" />
<mimeMap fileExtension=".cab" mimeType="application/vnd.ms-cab-compressed" />
<mimeMap fileExtension=".calx" mimeType="application/vnd.ms-office.calx" />
<mimeMap fileExtension=".cat" mimeType="application/vnd.ms-pki.seccat" />
<mimeMap fileExtension=".cdf" mimeType="application/x-cdf" />
<mimeMap fileExtension=".chm" mimeType="application/octet-stream" />
<mimeMap fileExtension=".class" mimeType="application/x-java-applet" />
<mimeMap fileExtension=".clp" mimeType="application/x-msclip" />
<mimeMap fileExtension=".cmx" mimeType="image/x-cmx" />
<mimeMap fileExtension=".cnf" mimeType="text/plain" />
<mimeMap fileExtension=".cod" mimeType="image/cis-cod" />
<mimeMap fileExtension=".cpio" mimeType="application/x-cpio" />
<mimeMap fileExtension=".cpp" mimeType="text/plain" />
<mimeMap fileExtension=".crd" mimeType="application/x-mscardfile" />
<mimeMap fileExtension=".crl" mimeType="application/pkix-crl" />
<mimeMap fileExtension=".crt" mimeType="application/x-x509-ca-cert" />
<mimeMap fileExtension=".csh" mimeType="application/x-csh" />
<mimeMap fileExtension=".css" mimeType="text/css" />
<mimeMap fileExtension=".csv" mimeType="application/octet-stream" />
<mimeMap fileExtension=".cur" mimeType="application/octet-stream" />
<mimeMap fileExtension=".dcr" mimeType="application/x-director" />
<mimeMap fileExtension=".deploy" mimeType="application/octet-stream" />
<mimeMap fileExtension=".der" mimeType="application/x-x509-ca-cert" />
<mimeMap fileExtension=".dib" mimeType="image/bmp" />
<mimeMap fileExtension=".dir" mimeType="application/x-director" />
<mimeMap fileExtension=".disco" mimeType="text/xml" />
<mimeMap fileExtension=".dll" mimeType="application/x-msdownload" />
<mimeMap fileExtension=".dll.config" mimeType="text/xml" />
<mimeMap fileExtension=".dlm" mimeType="text/dlm" />
<mimeMap fileExtension=".doc" mimeType="application/msword" />
<mimeMap fileExtension=".docm" mimeType="application/vnd.ms-word.document.macroEnabled.12" />
<mimeMap fileExtension=".docx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
<mimeMap fileExtension=".dot" mimeType="application/msword" />
<mimeMap fileExtension=".dotm" mimeType="application/vnd.ms-word.template.macroEnabled.12" />
<mimeMap fileExtension=".dotx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.template" />
<mimeMap fileExtension=".dsp" mimeType="application/octet-stream" />
<mimeMap fileExtension=".dtd" mimeType="text/xml" />
<mimeMap fileExtension=".dvi" mimeType="application/x-dvi" />
<mimeMap fileExtension=".dvr-ms" mimeType="video/x-ms-dvr" />
<mimeMap fileExtension=".dwf" mimeType="drawing/x-dwf" />
<mimeMap fileExtension=".dwp" mimeType="application/octet-stream" />
<mimeMap fileExtension=".dxr" mimeType="application/x-director" />
<mimeMap fileExtension=".eml" mimeType="message/rfc822" />
<mimeMap fileExtension=".emz" mimeType="application/octet-stream" />
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<mimeMap fileExtension=".eps" mimeType="application/postscript" />
<mimeMap fileExtension=".esd" mimeType="application/vnd.ms-cab-compressed" />
<mimeMap fileExtension=".etx" mimeType="text/x-setext" />
<mimeMap fileExtension=".evy" mimeType="application/envoy" />
<mimeMap fileExtension=".exe" mimeType="application/octet-stream" />
<mimeMap fileExtension=".exe.config" mimeType="text/xml" />
<mimeMap fileExtension=".fdf" mimeType="application/vnd.fdf" />
<mimeMap fileExtension=".fif" mimeType="application/fractals" />
<mimeMap fileExtension=".fla" mimeType="application/octet-stream" />
<mimeMap fileExtension=".flr" mimeType="x-world/x-vrml" />
<mimeMap fileExtension=".flv" mimeType="video/x-flv" />
<mimeMap fileExtension=".gif" mimeType="image/gif" />
<mimeMap fileExtension=".glb" mimeType="model/gltf-binary" />
<mimeMap fileExtension=".gtar" mimeType="application/x-gtar" />
<mimeMap fileExtension=".gz" mimeType="application/x-gzip" />
<mimeMap fileExtension=".h" mimeType="text/plain" />
<mimeMap fileExtension=".hdf" mimeType="application/x-hdf" />
<mimeMap fileExtension=".hdml" mimeType="text/x-hdml" />
<mimeMap fileExtension=".hhc" mimeType="application/x-oleobject" />
<mimeMap fileExtension=".hhk" mimeType="application/octet-stream" />
<mimeMap fileExtension=".hhp" mimeType="application/octet-stream" />
<mimeMap fileExtension=".hlp" mimeType="application/winhlp" />
<mimeMap fileExtension=".hqx" mimeType="application/mac-binhex40" />
<mimeMap fileExtension=".hta" mimeType="application/hta" />
<mimeMap fileExtension=".htc" mimeType="text/x-component" />
<mimeMap fileExtension=".htm" mimeType="text/html" />
<mimeMap fileExtension=".html" mimeType="text/html" />
<mimeMap fileExtension=".htt" mimeType="text/webviewhtml" />
<mimeMap fileExtension=".hxt" mimeType="text/html" />
<mimeMap fileExtension=".ico" mimeType="image/x-icon" />
<mimeMap fileExtension=".ics" mimeType="text/calendar" />
<mimeMap fileExtension=".ief" mimeType="image/ief" />
<mimeMap fileExtension=".iii" mimeType="application/x-iphone" />
<mimeMap fileExtension=".inf" mimeType="application/octet-stream" />
<mimeMap fileExtension=".ins" mimeType="application/x-internet-signup" />
<mimeMap fileExtension=".isp" mimeType="application/x-internet-signup" />
<mimeMap fileExtension=".IVF" mimeType="video/x-ivf" />
<mimeMap fileExtension=".jar" mimeType="application/java-archive" />
<mimeMap fileExtension=".java" mimeType="application/octet-stream" />
<mimeMap fileExtension=".jck" mimeType="application/liquidmotion" />
<mimeMap fileExtension=".jcz" mimeType="application/liquidmotion" />
<mimeMap fileExtension=".jfif" mimeType="image/pjpeg" />
<mimeMap fileExtension=".jpb" mimeType="application/octet-stream" />
<mimeMap fileExtension=".jpe" mimeType="image/jpeg" />
<mimeMap fileExtension=".jpeg" mimeType="image/jpeg" />
<mimeMap fileExtension=".jpg" mimeType="image/jpeg" />
<mimeMap fileExtension=".js" mimeType="application/javascript" />
<mimeMap fileExtension=".json" mimeType="application/json" />
<mimeMap fileExtension=".jsonld" mimeType="application/ld+json" />
<mimeMap fileExtension=".jsx" mimeType="text/jscript" />
<mimeMap fileExtension=".latex" mimeType="application/x-latex" />
<mimeMap fileExtension=".less" mimeType="text/css" />
<mimeMap fileExtension=".lit" mimeType="application/x-ms-reader" />
<mimeMap fileExtension=".lpk" mimeType="application/octet-stream" />
<mimeMap fileExtension=".lsf" mimeType="video/x-la-asf" />
<mimeMap fileExtension=".lsx" mimeType="video/x-la-asf" />
<mimeMap fileExtension=".lzh" mimeType="application/octet-stream" />
<mimeMap fileExtension=".m13" mimeType="application/x-msmediaview" />
<mimeMap fileExtension=".m14" mimeType="application/x-msmediaview" />
<mimeMap fileExtension=".m1v" mimeType="video/mpeg" />
<mimeMap fileExtension=".m2ts" mimeType="video/vnd.dlna.mpeg-tts" />
<mimeMap fileExtension=".m3u" mimeType="audio/x-mpegurl" />
<mimeMap fileExtension=".m4a" mimeType="audio/mp4" />
<mimeMap fileExtension=".m4v" mimeType="video/mp4" />
<mimeMap fileExtension=".man" mimeType="application/x-troff-man" />
<mimeMap fileExtension=".manifest" mimeType="application/x-ms-manifest" />
<mimeMap fileExtension=".map" mimeType="text/plain" />
<mimeMap fileExtension=".mdb" mimeType="application/x-msaccess" />
<mimeMap fileExtension=".mdp" mimeType="application/octet-stream" />
<mimeMap fileExtension=".me" mimeType="application/x-troff-me" />
<mimeMap fileExtension=".mht" mimeType="message/rfc822" />
<mimeMap fileExtension=".mhtml" mimeType="message/rfc822" />
<mimeMap fileExtension=".mid" mimeType="audio/mid" />
<mimeMap fileExtension=".midi" mimeType="audio/mid" />
<mimeMap fileExtension=".mix" mimeType="application/octet-stream" />
<mimeMap fileExtension=".mmf" mimeType="application/x-smaf" />
<mimeMap fileExtension=".mno" mimeType="text/xml" />
<mimeMap fileExtension=".mny" mimeType="application/x-msmoney" />
<mimeMap fileExtension=".mov" mimeType="video/quicktime" />
<mimeMap fileExtension=".movie" mimeType="video/x-sgi-movie" />
<mimeMap fileExtension=".mp2" mimeType="video/mpeg" />
<mimeMap fileExtension=".mp3" mimeType="audio/mpeg" />
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
<mimeMap fileExtension=".mp4v" mimeType="video/mp4" />
<mimeMap fileExtension=".mpa" mimeType="video/mpeg" />
<mimeMap fileExtension=".mpe" mimeType="video/mpeg" />
<mimeMap fileExtension=".mpeg" mimeType="video/mpeg" />
<mimeMap fileExtension=".mpg" mimeType="video/mpeg" />
<mimeMap fileExtension=".mpp" mimeType="application/vnd.ms-project" />
<mimeMap fileExtension=".mpv2" mimeType="video/mpeg" />
<mimeMap fileExtension=".ms" mimeType="application/x-troff-ms" />
<mimeMap fileExtension=".msi" mimeType="application/octet-stream" />
<mimeMap fileExtension=".mso" mimeType="application/octet-stream" />
<mimeMap fileExtension=".mvb" mimeType="application/x-msmediaview" />
<mimeMap fileExtension=".mvc" mimeType="application/x-miva-compiled" />
<mimeMap fileExtension=".nc" mimeType="application/x-netcdf" />
<mimeMap fileExtension=".nsc" mimeType="video/x-ms-asf" />
<mimeMap fileExtension=".nws" mimeType="message/rfc822" />
<mimeMap fileExtension=".ocx" mimeType="application/octet-stream" />
<mimeMap fileExtension=".oda" mimeType="application/oda" />
<mimeMap fileExtension=".odc" mimeType="text/x-ms-odc" />
<mimeMap fileExtension=".ods" mimeType="application/oleobject" />
<mimeMap fileExtension=".oga" mimeType="audio/ogg" />
<mimeMap fileExtension=".ogg" mimeType="video/ogg" />
<mimeMap fileExtension=".ogv" mimeType="video/ogg" />
<mimeMap fileExtension=".one" mimeType="application/onenote" />
<mimeMap fileExtension=".onea" mimeType="application/onenote" />
<mimeMap fileExtension=".onetoc" mimeType="application/onenote" />
<mimeMap fileExtension=".onetoc2" mimeType="application/onenote" />
<mimeMap fileExtension=".onetmp" mimeType="application/onenote" />
<mimeMap fileExtension=".onepkg" mimeType="application/onenote" />
<mimeMap fileExtension=".osdx" mimeType="application/opensearchdescription+xml" />
<mimeMap fileExtension=".otf" mimeType="font/otf" />
<mimeMap fileExtension=".p10" mimeType="application/pkcs10" />
<mimeMap fileExtension=".p12" mimeType="application/x-pkcs12" />
<mimeMap fileExtension=".p7b" mimeType="application/x-pkcs7-certificates" />
<mimeMap fileExtension=".p7c" mimeType="application/pkcs7-mime" />
<mimeMap fileExtension=".p7m" mimeType="application/pkcs7-mime" />
<mimeMap fileExtension=".p7r" mimeType="application/x-pkcs7-certreqresp" />
<mimeMap fileExtension=".p7s" mimeType="application/pkcs7-signature" />
<mimeMap fileExtension=".pbm" mimeType="image/x-portable-bitmap" />
<mimeMap fileExtension=".pcx" mimeType="application/octet-stream" />
<mimeMap fileExtension=".pcz" mimeType="application/octet-stream" />
<mimeMap fileExtension=".pdf" mimeType="application/pdf" />
<mimeMap fileExtension=".pfb" mimeType="application/octet-stream" />
<mimeMap fileExtension=".pfm" mimeType="application/octet-stream" />
<mimeMap fileExtension=".pfx" mimeType="application/x-pkcs12" />
<mimeMap fileExtension=".pgm" mimeType="image/x-portable-graymap" />
<mimeMap fileExtension=".pko" mimeType="application/vnd.ms-pki.pko" />
<mimeMap fileExtension=".pma" mimeType="application/x-perfmon" />
<mimeMap fileExtension=".pmc" mimeType="application/x-perfmon" />
<mimeMap fileExtension=".pml" mimeType="application/x-perfmon" />
<mimeMap fileExtension=".pmr" mimeType="application/x-perfmon" />
<mimeMap fileExtension=".pmw" mimeType="application/x-perfmon" />
<mimeMap fileExtension=".png" mimeType="image/png" />
<mimeMap fileExtension=".pnm" mimeType="image/x-portable-anymap" />
<mimeMap fileExtension=".pnz" mimeType="image/png" />
<mimeMap fileExtension=".pot" mimeType="application/vnd.ms-powerpoint" />
<mimeMap fileExtension=".potm" mimeType="application/vnd.ms-powerpoint.template.macroEnabled.12" />
<mimeMap fileExtension=".potx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.template" />
<mimeMap fileExtension=".ppam" mimeType="application/vnd.ms-powerpoint.addin.macroEnabled.12" />
<mimeMap fileExtension=".ppm" mimeType="image/x-portable-pixmap" />
<mimeMap fileExtension=".pps" mimeType="application/vnd.ms-powerpoint" />
<mimeMap fileExtension=".ppsm" mimeType="application/vnd.ms-powerpoint.slideshow.macroEnabled.12" />
<mimeMap fileExtension=".ppsx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slideshow" />
<mimeMap fileExtension=".ppt" mimeType="application/vnd.ms-powerpoint" />
<mimeMap fileExtension=".pptm" mimeType="application/vnd.ms-powerpoint.presentation.macroEnabled.12" />
<mimeMap fileExtension=".pptx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" />
<mimeMap fileExtension=".prf" mimeType="application/pics-rules" />
<mimeMap fileExtension=".prm" mimeType="application/octet-stream" />
<mimeMap fileExtension=".prx" mimeType="application/octet-stream" />
<mimeMap fileExtension=".ps" mimeType="application/postscript" />
<mimeMap fileExtension=".psd" mimeType="application/octet-stream" />
<mimeMap fileExtension=".psm" mimeType="application/octet-stream" />
<mimeMap fileExtension=".psp" mimeType="application/octet-stream" />
<mimeMap fileExtension=".pub" mimeType="application/x-mspublisher" />
<mimeMap fileExtension=".qt" mimeType="video/quicktime" />
<mimeMap fileExtension=".qtl" mimeType="application/x-quicktimeplayer" />
<mimeMap fileExtension=".qxd" mimeType="application/octet-stream" />
<mimeMap fileExtension=".ra" mimeType="audio/x-pn-realaudio" />
<mimeMap fileExtension=".ram" mimeType="audio/x-pn-realaudio" />
<mimeMap fileExtension=".rar" mimeType="application/octet-stream" />
<mimeMap fileExtension=".ras" mimeType="image/x-cmu-raster" />
<mimeMap fileExtension=".rf" mimeType="image/vnd.rn-realflash" />
<mimeMap fileExtension=".rgb" mimeType="image/x-rgb" />
<mimeMap fileExtension=".rm" mimeType="application/vnd.rn-realmedia" />
<mimeMap fileExtension=".rmi" mimeType="audio/mid" />
<mimeMap fileExtension=".roff" mimeType="application/x-troff" />
<mimeMap fileExtension=".rpm" mimeType="audio/x-pn-realaudio-plugin" />
<mimeMap fileExtension=".rtf" mimeType="application/rtf" />
<mimeMap fileExtension=".rtx" mimeType="text/richtext" />
<mimeMap fileExtension=".scd" mimeType="application/x-msschedule" />
<mimeMap fileExtension=".sct" mimeType="text/scriptlet" />
<mimeMap fileExtension=".sea" mimeType="application/octet-stream" />
<mimeMap fileExtension=".setpay" mimeType="application/set-payment-initiation" />
<mimeMap fileExtension=".setreg" mimeType="application/set-registration-initiation" />
<mimeMap fileExtension=".sgml" mimeType="text/sgml" />
<mimeMap fileExtension=".sh" mimeType="application/x-sh" />
<mimeMap fileExtension=".shar" mimeType="application/x-shar" />
<mimeMap fileExtension=".sit" mimeType="application/x-stuffit" />
<mimeMap fileExtension=".sldm" mimeType="application/vnd.ms-powerpoint.slide.macroEnabled.12" />
<mimeMap fileExtension=".sldx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slide" />
<mimeMap fileExtension=".smd" mimeType="audio/x-smd" />
<mimeMap fileExtension=".smi" mimeType="application/octet-stream" />
<mimeMap fileExtension=".smx" mimeType="audio/x-smd" />
<mimeMap fileExtension=".smz" mimeType="audio/x-smd" />
<mimeMap fileExtension=".snd" mimeType="audio/basic" />
<mimeMap fileExtension=".snp" mimeType="application/octet-stream" />
<mimeMap fileExtension=".spc" mimeType="application/x-pkcs7-certificates" />
<mimeMap fileExtension=".spl" mimeType="application/futuresplash" />
<mimeMap fileExtension=".spx" mimeType="audio/ogg" />
<mimeMap fileExtension=".src" mimeType="application/x-wais-source" />
<mimeMap fileExtension=".ssm" mimeType="application/streamingmedia" />
<mimeMap fileExtension=".sst" mimeType="application/vnd.ms-pki.certstore" />
<mimeMap fileExtension=".stl" mimeType="application/vnd.ms-pki.stl" />
<mimeMap fileExtension=".sv4cpio" mimeType="application/x-sv4cpio" />
<mimeMap fileExtension=".sv4crc" mimeType="application/x-sv4crc" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<mimeMap fileExtension=".svgz" mimeType="image/svg+xml" />
<mimeMap fileExtension=".swf" mimeType="application/x-shockwave-flash" />
<mimeMap fileExtension=".t" mimeType="application/x-troff" />
<mimeMap fileExtension=".tar" mimeType="application/x-tar" />
<mimeMap fileExtension=".tcl" mimeType="application/x-tcl" />
<mimeMap fileExtension=".tex" mimeType="application/x-tex" />
<mimeMap fileExtension=".texi" mimeType="application/x-texinfo" />
<mimeMap fileExtension=".texinfo" mimeType="application/x-texinfo" />
<mimeMap fileExtension=".tgz" mimeType="application/x-compressed" />
<mimeMap fileExtension=".thmx" mimeType="application/vnd.ms-officetheme" />
<mimeMap fileExtension=".thn" mimeType="application/octet-stream" />
<mimeMap fileExtension=".tif" mimeType="image/tiff" />
<mimeMap fileExtension=".tiff" mimeType="image/tiff" />
<mimeMap fileExtension=".toc" mimeType="application/octet-stream" />
<mimeMap fileExtension=".tr" mimeType="application/x-troff" />
<mimeMap fileExtension=".trm" mimeType="application/x-msterminal" />
<mimeMap fileExtension=".ts" mimeType="video/vnd.dlna.mpeg-tts" />
<mimeMap fileExtension=".tsv" mimeType="text/tab-separated-values" />
<mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
<mimeMap fileExtension=".tts" mimeType="video/vnd.dlna.mpeg-tts" />
<mimeMap fileExtension=".txt" mimeType="text/plain" />
<mimeMap fileExtension=".u32" mimeType="application/octet-stream" />
<mimeMap fileExtension=".uls" mimeType="text/iuls" />
<mimeMap fileExtension=".ustar" mimeType="application/x-ustar" />
<mimeMap fileExtension=".vbs" mimeType="text/vbscript" />
<mimeMap fileExtension=".vcf" mimeType="text/x-vcard" />
<mimeMap fileExtension=".vcs" mimeType="text/plain" />
<mimeMap fileExtension=".vdx" mimeType="application/vnd.ms-visio.viewer" />
<mimeMap fileExtension=".vml" mimeType="text/xml" />
<mimeMap fileExtension=".vsd" mimeType="application/vnd.visio" />
<mimeMap fileExtension=".vss" mimeType="application/vnd.visio" />
<mimeMap fileExtension=".vst" mimeType="application/vnd.visio" />
<mimeMap fileExtension=".vsto" mimeType="application/x-ms-vsto" />
<mimeMap fileExtension=".vsw" mimeType="application/vnd.visio" />
<mimeMap fileExtension=".vsx" mimeType="application/vnd.visio" />
<mimeMap fileExtension=".vtx" mimeType="application/vnd.visio" />
<mimeMap fileExtension=".wasm" mimeType="application/wasm" />
<mimeMap fileExtension=".wav" mimeType="audio/wav" />
<mimeMap fileExtension=".wax" mimeType="audio/x-ms-wax" />
<mimeMap fileExtension=".wbmp" mimeType="image/vnd.wap.wbmp" />
<mimeMap fileExtension=".wcm" mimeType="application/vnd.ms-works" />
<mimeMap fileExtension=".wdb" mimeType="application/vnd.ms-works" />
<mimeMap fileExtension=".webm" mimeType="video/webm" />
<mimeMap fileExtension=".wks" mimeType="application/vnd.ms-works" />
<mimeMap fileExtension=".wm" mimeType="video/x-ms-wm" />
<mimeMap fileExtension=".wma" mimeType="audio/x-ms-wma" />
<mimeMap fileExtension=".wmd" mimeType="application/x-ms-wmd" />
<mimeMap fileExtension=".wmf" mimeType="application/x-msmetafile" />
<mimeMap fileExtension=".wml" mimeType="text/vnd.wap.wml" />
<mimeMap fileExtension=".wmlc" mimeType="application/vnd.wap.wmlc" />
<mimeMap fileExtension=".wmls" mimeType="text/vnd.wap.wmlscript" />
<mimeMap fileExtension=".wmlsc" mimeType="application/vnd.wap.wmlscriptc" />
<mimeMap fileExtension=".wmp" mimeType="video/x-ms-wmp" />
<mimeMap fileExtension=".wmv" mimeType="video/x-ms-wmv" />
<mimeMap fileExtension=".wmx" mimeType="video/x-ms-wmx" />
<mimeMap fileExtension=".wmz" mimeType="application/x-ms-wmz" />
<mimeMap fileExtension=".woff" mimeType="font/x-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
<mimeMap fileExtension=".wps" mimeType="application/vnd.ms-works" />
<mimeMap fileExtension=".wri" mimeType="application/x-mswrite" />
<mimeMap fileExtension=".wrl" mimeType="x-world/x-vrml" />
<mimeMap fileExtension=".wrz" mimeType="x-world/x-vrml" />
<mimeMap fileExtension=".wsdl" mimeType="text/xml" />
<mimeMap fileExtension=".wtv" mimeType="video/x-ms-wtv" />
<mimeMap fileExtension=".wvx" mimeType="video/x-ms-wvx" />
<mimeMap fileExtension=".x" mimeType="application/directx" />
<mimeMap fileExtension=".xaf" mimeType="x-world/x-vrml" />
<mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" />
<mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" />
<mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" />
<mimeMap fileExtension=".xbm" mimeType="image/x-xbitmap" />
<mimeMap fileExtension=".xdr" mimeType="text/plain" />
<mimeMap fileExtension=".xht" mimeType="application/xhtml+xml" />
<mimeMap fileExtension=".xhtml" mimeType="application/xhtml+xml" />
<mimeMap fileExtension=".xla" mimeType="application/vnd.ms-excel" />
<mimeMap fileExtension=".xlam" mimeType="application/vnd.ms-excel.addin.macroEnabled.12" />
<mimeMap fileExtension=".xlc" mimeType="application/vnd.ms-excel" />
<mimeMap fileExtension=".xlm" mimeType="application/vnd.ms-excel" />
<mimeMap fileExtension=".xls" mimeType="application/vnd.ms-excel" />
<mimeMap fileExtension=".xlsb" mimeType="application/vnd.ms-excel.sheet.binary.macroEnabled.12" />
<mimeMap fileExtension=".xlsm" mimeType="application/vnd.ms-excel.sheet.macroEnabled.12" />
<mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
<mimeMap fileExtension=".xlt" mimeType="application/vnd.ms-excel" />
<mimeMap fileExtension=".xltm" mimeType="application/vnd.ms-excel.template.macroEnabled.12" />
<mimeMap fileExtension=".xltx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.template" />
<mimeMap fileExtension=".xlw" mimeType="application/vnd.ms-excel" />
<mimeMap fileExtension=".xml" mimeType="text/xml" />
<mimeMap fileExtension=".xof" mimeType="x-world/x-vrml" />
<mimeMap fileExtension=".xpm" mimeType="image/x-xpixmap" />
<mimeMap fileExtension=".xps" mimeType="application/vnd.ms-xpsdocument" />
<mimeMap fileExtension=".xsd" mimeType="text/xml" />
<mimeMap fileExtension=".xsf" mimeType="text/xml" />
<mimeMap fileExtension=".xsl" mimeType="text/xml" />
<mimeMap fileExtension=".xslt" mimeType="text/xml" />
<mimeMap fileExtension=".xsn" mimeType="application/octet-stream" />
<mimeMap fileExtension=".xtp" mimeType="application/octet-stream" />
<mimeMap fileExtension=".xwd" mimeType="image/x-xwindowdump" />
<mimeMap fileExtension=".z" mimeType="application/x-compress" />
<mimeMap fileExtension=".zip" mimeType="application/x-zip-compressed" />
</staticContent>
<tracing>
<traceFailedRequests>
<add path="*">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite,WebSocket" verbosity="Verbose" />
</traceAreas>
<failureDefinitions statusCodes="200-999" />
</add>
</traceFailedRequests>
<traceProviderDefinitions>
<add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}">
<areas>
<clear />
<add name="Authentication" value="2" />
<add name="Security" value="4" />
<add name="Filter" value="8" />
<add name="StaticFile" value="16" />
<add name="CGI" value="32" />
<add name="Compression" value="64" />
<add name="Cache" value="128" />
<add name="RequestNotifications" value="256" />
<add name="Module" value="512" />
<add name="Rewrite" value="1024" />
<add name="FastCGI" value="4096" />
<add name="WebSocket" value="16384" />
<add name="ANCM" value="65536" />
</areas>
</add>
<add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}">
<areas>
<clear />
</areas>
</add>
<add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}">
<areas>
<clear />
</areas>
</add>
<add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}">
<areas>
<add name="Infrastructure" value="1" />
<add name="Module" value="2" />
<add name="Page" value="4" />
<add name="AppServices" value="8" />
</areas>
</add>
</traceProviderDefinitions>
</tracing>
<urlCompression />
<validation />
<webdav>
<globalSettings>
<propertyStores>
<add name="webdav_simple_prop" image="%IIS_BIN%\webdav_simple_prop.dll" image32="%IIS_BIN%\webdav_simple_prop.dll" />
</propertyStores>
<lockStores>
<add name="webdav_simple_lock" image="%IIS_BIN%\webdav_simple_lock.dll" image32="%IIS_BIN%\webdav_simple_lock.dll" />
</lockStores>
</globalSettings>
<authoring>
<locks enabled="true" lockStore="webdav_simple_lock" />
</authoring>
<authoringRules />
</webdav>
<webSocket />
<applicationInitialization />
</system.webServer>
<location path="" overrideMode="Allow">
<system.webServer>
<modules>
<add name="IsapiFilterModule" lockItem="true" />
<add name="BasicAuthenticationModule" lockItem="true" />
<add name="IsapiModule" lockItem="true" />
<add name="HttpLoggingModule" lockItem="true" />
<add name="DynamicCompressionModule" lockItem="true" />
<add name="StaticCompressionModule" lockItem="true" />
<add name="DefaultDocumentModule" lockItem="true" />
<add name="DirectoryListingModule" lockItem="true" />
<add name="ProtocolSupportModule" lockItem="true" />
<add name="HttpRedirectionModule" lockItem="true" />
<add name="ServerSideIncludeModule" lockItem="true" />
<add name="StaticFileModule" lockItem="true" />
<add name="AnonymousAuthenticationModule" lockItem="true" />
<add name="CertificateMappingAuthenticationModule" lockItem="true" />
<add name="UrlAuthorizationModule" lockItem="true" />
<add name="WindowsAuthenticationModule" lockItem="true" />
<add name="IISCertificateMappingAuthenticationModule" lockItem="true" />
<add name="WebMatrixSupportModule" lockItem="true" />
<add name="IpRestrictionModule" lockItem="true" />
<add name="DynamicIpRestrictionModule" lockItem="true" />
<add name="RequestFilteringModule" lockItem="true" />
<add name="CustomLoggingModule" lockItem="true" />
<add name="CustomErrorModule" lockItem="true" />
<add name="FailedRequestsTracingModule" lockItem="true" />
<add name="CgiModule" lockItem="true" />
<add name="FastCgiModule" lockItem="true" />
<!-- <add name="WebDAVModule" /> -->
<add name="RewriteModule" />
<add name="OutputCache" type="System.Web.Caching.OutputCacheModule" preCondition="managedHandler" />
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="managedHandler" />
<add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="managedHandler" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />
<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" />
<add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" />
<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="managedHandler" />
<add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" preCondition="managedHandler" />
<add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" preCondition="managedHandler" />
<add name="Profile" type="System.Web.Profile.ProfileModule" preCondition="managedHandler" />
<add name="UrlMappingsModule" type="System.Web.UrlMappingsModule" preCondition="managedHandler" />
<add name="ApplicationInitializationModule" lockItem="true" />
<add name="WebSocketModule" lockItem="true" />
<add name="ServiceModel-4.0" type="System.ServiceModel.Activation.ServiceHttpModule,System.ServiceModel.Activation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" />
<add name="ConfigurationValidationModule" lockItem="true" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="managedHandler,runtimeVersionv4.0" />
<add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" />
<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler,runtimeVersionv2.0" />
<add name="AspNetCoreModule" lockItem="true" />
<add name="AspNetCoreModuleV2" lockItem="true" />
</modules>
<handlers accessPolicy="Read, Script">
<!-- <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> -->
<add name="AXD-ISAPI-4.0_64bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="WebServiceHandlerFactory-ISAPI-4.0_64bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_64bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_64bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="rules-ISAPI-4.0_64bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="xoml-ISAPI-4.0_64bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="xamlx-ISAPI-4.0_64bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="aspq-ISAPI-4.0_64bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="cshtm-ISAPI-4.0_64bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="cshtml-ISAPI-4.0_64bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="vbhtm-ISAPI-4.0_64bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="vbhtml-ISAPI-4.0_64bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="svc-ISAPI-2.0" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="xoml-Integrated" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="xoml-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="rules-Integrated" path="*.rules" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="rules-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="AXD-ISAPI-4.0_32bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="SimpleHandlerFactory-ISAPI-4.0_32bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="WebServiceHandlerFactory-ISAPI-4.0_32bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_32bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="aspq-ISAPI-4.0_32bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="cshtm-ISAPI-4.0_32bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="cshtml-ISAPI-4.0_32bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="vbhtm-ISAPI-4.0_32bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="vbhtml-ISAPI-4.0_32bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="TraceHandler-Integrated-4.0" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="WebAdminHandler-Integrated-4.0" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="HttpRemotingHandlerFactory-rem-Integrated-4.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="HttpRemotingHandlerFactory-soap-Integrated-4.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="aspq-Integrated-4.0" path="*.aspq" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="cshtm-Integrated-4.0" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="cshtml-Integrated-4.0" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="vbhtm-Integrated-4.0" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="vbhtml-Integrated-4.0" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="ScriptHandlerFactoryAppServices-Integrated-4.0" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="ScriptResourceIntegrated-4.0" path="*ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" />
<add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" />
<add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
<add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
<add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
<add name="SimpleHandlerFactory-ISAPI-2.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
<add name="WebServiceHandlerFactory-ISAPI-2.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
<add name="svc-ISAPI-2.0-64" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
<add name="AXD-ISAPI-2.0-64" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
<add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
<add name="SimpleHandlerFactory-ISAPI-2.0-64" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
<add name="WebServiceHandlerFactory-ISAPI-2.0-64" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0-64" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
<add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0-64" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
<add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
<add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
<add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
<add name="SSINC-stm" path="*.stm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
<add name="SSINC-shtm" path="*.shtm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
<add name="SSINC-shtml" path="*.shtml" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
<add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" />
<add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
</handlers>
</system.webServer>
</location>
</configuration>
Binary file not shown.
BIN
View File
Binary file not shown.
+686
View File
@@ -0,0 +1,686 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\Admin\\source\\repos\\ir23\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\eaccontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\eaccontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\connectcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\connectcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\verificationmodels\\jwtservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:verificationmodels\\jwtservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\refreshtable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\refreshtable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\cachedlogincontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\cachedlogincontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\threadcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\threadcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\checklistcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\checklistcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\datacontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\datacontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\customavataritemscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\customavataritemscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\econcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\econcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\nameservercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\nameservercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\gamesightcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\gamesightcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\cdn\\images\\defaultpfp.png||{58961B49-13E0-48C0-9258-13CBC4D40279}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:cdn\\images\\defaultpfp.png||{58961B49-13E0-48C0-9258-13CBC4D40279}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\versioncheckcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\versioncheckcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\relationshipscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\relationshipscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\playersettingscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\playersettingscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\playerscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\playerscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\playerreputationcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\playerreputationcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\playerreportingcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\playerreportingcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\playercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\playercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\objectivescontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\objectivescontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\imageservercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\imageservercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\gameconfigscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\gameconfigscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\avatarcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\avatarcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\accountcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\accountcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\appdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\appdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\progression.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\progression.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\hubs\\srhub.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:hubs\\srhub.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\reputation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\reputation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\playersetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\playersetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\account.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\account.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\avatar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\avatar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\verificationmodels\\steamauth.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:verificationmodels\\steamauth.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\platformdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\platformdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\verificationmodels\\steamauthentication.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:verificationmodels\\steamauthentication.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\ir23.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:ir23.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\appdbcontextfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\appdbcontextfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": -1,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
}
]
},
{
"DockedWidth": 200,
"SelectedChildIndex": 7,
"Children": [
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "gamesightController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\gamesightController.cs",
"RelativeDocumentMoniker": "Controllers\\gamesightController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\gamesightController.cs",
"RelativeToolTip": "Controllers\\gamesightController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:35:46.399Z"
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "defaultpfp.png",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\cdn\\images\\defaultpfp.png",
"RelativeDocumentMoniker": "cdn\\images\\defaultpfp.png",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\cdn\\images\\defaultpfp.png",
"RelativeToolTip": "cdn\\images\\defaultpfp.png",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001533|",
"WhenOpened": "2026-03-27T00:34:42.228Z"
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "dataController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\dataController.cs",
"RelativeDocumentMoniker": "Controllers\\dataController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\dataController.cs",
"RelativeToolTip": "Controllers\\dataController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAvAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:33:01.24Z"
},
{
"$type": "Document",
"DocumentIndex": 20,
"Title": "playerController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playerController.cs",
"RelativeDocumentMoniker": "Controllers\\playerController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playerController.cs",
"RelativeToolTip": "Controllers\\playerController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:13:33.009Z"
},
{
"$type": "Document",
"DocumentIndex": 17,
"Title": "playersController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playersController.cs",
"RelativeDocumentMoniker": "Controllers\\playersController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playersController.cs",
"RelativeToolTip": "Controllers\\playersController.cs",
"ViewState": "AgIAACMAAAAAAAAAAAAAADUAAAAhAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:07:03.085Z"
},
{
"$type": "Document",
"DocumentIndex": 28,
"Title": "progression.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\progression.cs",
"RelativeDocumentMoniker": "Data\\progression.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\progression.cs",
"RelativeToolTip": "Data\\progression.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAA8AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:04:09.22Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "Program.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Program.cs",
"RelativeDocumentMoniker": "Program.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Program.cs",
"RelativeToolTip": "Program.cs",
"ViewState": "AgIAACoAAAAAAAAAAAAAADYAAAAsAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T15:59:51.647Z"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "eacController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\eacController.cs",
"RelativeDocumentMoniker": "Controllers\\eacController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\eacController.cs",
"RelativeToolTip": "Controllers\\eacController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAADIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T17:05:21.648Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "customAvatarItemsController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\customAvatarItemsController.cs",
"RelativeDocumentMoniker": "Controllers\\customAvatarItemsController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\customAvatarItemsController.cs",
"RelativeToolTip": "Controllers\\customAvatarItemsController.cs",
"ViewState": "AgIAAAQAAAAAAAAAAAAAAAsAAAASAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:39:15.13Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "econController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\econController.cs",
"RelativeDocumentMoniker": "Controllers\\econController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\econController.cs",
"RelativeToolTip": "Controllers\\econController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAvAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:45:09.952Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "checklistController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\checklistController.cs",
"RelativeDocumentMoniker": "Controllers\\checklistController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\checklistController.cs",
"RelativeToolTip": "Controllers\\checklistController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:51:00.226Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "threadController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\threadController.cs",
"RelativeDocumentMoniker": "Controllers\\threadController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\threadController.cs",
"RelativeToolTip": "Controllers\\threadController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:53:44.956Z"
},
{
"$type": "Document",
"DocumentIndex": 15,
"Title": "relationshipsController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\relationshipsController.cs",
"RelativeDocumentMoniker": "Controllers\\relationshipsController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\relationshipsController.cs",
"RelativeToolTip": "Controllers\\relationshipsController.cs",
"ViewState": "AgIAAAUAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:01:59.001Z"
},
{
"$type": "Document",
"DocumentIndex": 29,
"Title": "SRHub.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Hubs\\SRHub.cs",
"RelativeDocumentMoniker": "Hubs\\SRHub.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Hubs\\SRHub.cs",
"RelativeToolTip": "Hubs\\SRHub.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAA2AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:55:53.364Z"
},
{
"$type": "Document",
"DocumentIndex": 18,
"Title": "playerReputationController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playerReputationController.cs",
"RelativeDocumentMoniker": "Controllers\\playerReputationController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playerReputationController.cs",
"RelativeToolTip": "Controllers\\playerReputationController.cs",
"ViewState": "AgIAACgAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:43:52.259Z"
},
{
"$type": "Document",
"DocumentIndex": 30,
"Title": "reputation.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\reputation.cs",
"RelativeDocumentMoniker": "Data\\reputation.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\reputation.cs",
"RelativeToolTip": "Data\\reputation.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAABWAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:33:09.577Z"
},
{
"$type": "Document",
"DocumentIndex": 21,
"Title": "objectivesController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\objectivesController.cs",
"RelativeDocumentMoniker": "Controllers\\objectivesController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\objectivesController.cs",
"RelativeToolTip": "Controllers\\objectivesController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAA0AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:30:21.744Z"
},
{
"$type": "Document",
"DocumentIndex": 19,
"Title": "PlayerReportingController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\PlayerReportingController.cs",
"RelativeDocumentMoniker": "Controllers\\PlayerReportingController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\PlayerReportingController.cs",
"RelativeToolTip": "Controllers\\PlayerReportingController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAcAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:28:30.675Z"
},
{
"$type": "Document",
"DocumentIndex": 16,
"Title": "playersettingsController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playersettingsController.cs",
"RelativeDocumentMoniker": "Controllers\\playersettingsController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playersettingsController.cs",
"RelativeToolTip": "Controllers\\playersettingsController.cs",
"ViewState": "AgIAABYAAAAAAAAAAAAQwCQAAAAfAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:24:00.051Z"
},
{
"$type": "Document",
"DocumentIndex": 31,
"Title": "playersetting.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\playersetting.cs",
"RelativeDocumentMoniker": "Data\\playersetting.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\playersetting.cs",
"RelativeToolTip": "Data\\playersetting.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAABPAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:22:12.662Z"
},
{
"$type": "Document",
"DocumentIndex": 33,
"Title": "avatar.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\avatar.cs",
"RelativeDocumentMoniker": "Data\\avatar.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\avatar.cs",
"RelativeToolTip": "Data\\avatar.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAABLAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:11:33.49Z"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "JwtService.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\VerificationModels\\JwtService.cs",
"RelativeDocumentMoniker": "VerificationModels\\JwtService.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\VerificationModels\\JwtService.cs",
"RelativeToolTip": "VerificationModels\\JwtService.cs",
"ViewState": "AgIAAF4AAAAAAAAAAAAAAGoAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T18:55:49.534Z"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "connectController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\connectController.cs",
"RelativeDocumentMoniker": "Controllers\\connectController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\connectController.cs",
"RelativeToolTip": "Controllers\\connectController.cs",
"ViewState": "AgIAABcAAAAAAAAAAAAAACkAAAAmAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T18:31:23.419Z"
},
{
"$type": "Document",
"DocumentIndex": 34,
"Title": "SteamAuth.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\VerificationModels\\SteamAuth.cs",
"RelativeDocumentMoniker": "VerificationModels\\SteamAuth.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\VerificationModels\\SteamAuth.cs",
"RelativeToolTip": "VerificationModels\\SteamAuth.cs",
"ViewState": "AgIAAAUAAAAAAAAAAAAAACIAAAB0AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T18:24:00.37Z"
},
{
"$type": "Document",
"DocumentIndex": 36,
"Title": "SteamAuthentication.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\VerificationModels\\SteamAuthentication.cs",
"RelativeDocumentMoniker": "VerificationModels\\SteamAuthentication.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\VerificationModels\\SteamAuthentication.cs",
"RelativeToolTip": "VerificationModels\\SteamAuthentication.cs",
"ViewState": "AgIAAAIAAAAAAAAAAAAcwBcAAAABAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T18:20:14.154Z"
},
{
"$type": "Document",
"DocumentIndex": 37,
"Title": "ir23.csproj",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\ir23.csproj",
"RelativeDocumentMoniker": "ir23.csproj",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\ir23.csproj",
"RelativeToolTip": "ir23.csproj",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2026-03-26T18:19:01.93Z"
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "refreshtable.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\refreshtable.cs",
"RelativeDocumentMoniker": "Data\\refreshtable.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\refreshtable.cs",
"RelativeToolTip": "Data\\refreshtable.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T17:37:45.579Z"
},
{
"$type": "Document",
"DocumentIndex": 22,
"Title": "imageserverController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\imageserverController.cs",
"RelativeDocumentMoniker": "Controllers\\imageserverController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\imageserverController.cs",
"RelativeToolTip": "Controllers\\imageserverController.cs",
"ViewState": "AgIAAAwAAAAAAAAAAAAAwBcAAAALAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T17:13:08.376Z"
},
{
"$type": "Document",
"DocumentIndex": 25,
"Title": "avatarController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\avatarController.cs",
"RelativeDocumentMoniker": "Controllers\\avatarController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\avatarController.cs",
"RelativeToolTip": "Controllers\\avatarController.cs",
"ViewState": "AgIAADQAAAAAAAAAAAAcwEcAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T17:10:56.431Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "cachedloginController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\cachedloginController.cs",
"RelativeDocumentMoniker": "Controllers\\cachedloginController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\cachedloginController.cs",
"RelativeToolTip": "Controllers\\cachedloginController.cs",
"ViewState": "AgIAABwAAAAAAAAAAAAAACMAAAAvAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:40:52.989Z"
},
{
"$type": "Document",
"DocumentIndex": 26,
"Title": "accountController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\accountController.cs",
"RelativeDocumentMoniker": "Controllers\\accountController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\accountController.cs",
"RelativeToolTip": "Controllers\\accountController.cs",
"ViewState": "AgIAAB0AAAAAAAAAAAAwwCoAAAAsAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T16:58:01.359Z"
},
{
"$type": "Document",
"DocumentIndex": 32,
"Title": "account.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\account.cs",
"RelativeDocumentMoniker": "Data\\account.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\account.cs",
"RelativeToolTip": "Data\\account.cs",
"ViewState": "AgIAAAUAAAAAAAAAAAAAABEAAAABAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T17:00:15.693Z"
},
{
"$type": "Document",
"DocumentIndex": 35,
"Title": "PlatformData.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\PlatformData.cs",
"RelativeDocumentMoniker": "Data\\PlatformData.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\PlatformData.cs",
"RelativeToolTip": "Data\\PlatformData.cs",
"ViewState": "AgIAAAMAAAAAAAAAAAAAAAcAAABIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:57:10.515Z"
},
{
"$type": "Document",
"DocumentIndex": 38,
"Title": "AppDbContextFactory.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\AppDbContextFactory.cs",
"RelativeDocumentMoniker": "Data\\AppDbContextFactory.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\AppDbContextFactory.cs",
"RelativeToolTip": "Data\\AppDbContextFactory.cs",
"ViewState": "AgIAAAEAAAAAAAAAAAAqwBUAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:53:48.565Z"
},
{
"$type": "Document",
"DocumentIndex": 27,
"Title": "AppDbContext.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\AppDbContext.cs",
"RelativeDocumentMoniker": "Data\\AppDbContext.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\AppDbContext.cs",
"RelativeToolTip": "Data\\AppDbContext.cs",
"ViewState": "AgIAAAIAAAAAAAAAAAAAAAkAAAA+AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:44:29.821Z"
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "versioncheckController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\versioncheckController.cs",
"RelativeDocumentMoniker": "Controllers\\versioncheckController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\versioncheckController.cs",
"RelativeToolTip": "Controllers\\versioncheckController.cs",
"ViewState": "AgIAAAwAAAAAAAAAAAAAAA8AAAAdAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:28:38.669Z"
},
{
"$type": "Document",
"DocumentIndex": 23,
"Title": "gameconfigsController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\gameconfigsController.cs",
"RelativeDocumentMoniker": "Controllers\\gameconfigsController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\gameconfigsController.cs",
"RelativeToolTip": "Controllers\\gameconfigsController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:24:44.991Z"
},
{
"$type": "Document",
"DocumentIndex": 24,
"Title": "configController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\configController.cs",
"RelativeDocumentMoniker": "Controllers\\configController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\configController.cs",
"RelativeToolTip": "Controllers\\configController.cs",
"ViewState": "AgIAAAQAAAAAAAAAAAAAAAkAAAAhAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:12:52.778Z"
},
{
"$type": "Document",
"DocumentIndex": 39,
"Title": "appsettings.json",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\appsettings.json",
"RelativeDocumentMoniker": "appsettings.json",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\appsettings.json",
"RelativeToolTip": "appsettings.json",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAABAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
"WhenOpened": "2026-03-25T16:07:20.272Z"
},
{
"$type": "Document",
"DocumentIndex": 40,
"Title": "launchSettings.json",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Properties\\launchSettings.json",
"RelativeDocumentMoniker": "Properties\\launchSettings.json",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Properties\\launchSettings.json",
"RelativeToolTip": "Properties\\launchSettings.json",
"ViewState": "AgIAAAMAAAAAAAAAAIBJwBAAAAAuAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
"WhenOpened": "2026-03-25T15:52:33.042Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "NameServerController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\NameServerController.cs",
"RelativeDocumentMoniker": "Controllers\\NameServerController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\NameServerController.cs",
"RelativeToolTip": "Controllers\\NameServerController.cs",
"ViewState": "AgIAACIAAAAAAAAAAAAAADIAAAAjAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T15:46:35.412Z"
}
]
}
]
}
]
}
+693
View File
@@ -0,0 +1,693 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\Admin\\source\\repos\\ir23\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\cdn\\images\\defaultpfp.png||{58961B49-13E0-48C0-9258-13CBC4D40279}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:cdn\\images\\defaultpfp.png||{58961B49-13E0-48C0-9258-13CBC4D40279}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\cachedlogincontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\cachedlogincontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\playerreputationcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\playerreputationcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\playerscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\playerscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\verificationmodels\\steamauth.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:verificationmodels\\steamauth.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\verificationmodels\\jwtservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:verificationmodels\\jwtservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\eaccontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\eaccontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\connectcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\connectcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\refreshtable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\refreshtable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\threadcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\threadcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\checklistcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\checklistcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\datacontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\datacontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\customavataritemscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\customavataritemscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\econcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\econcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\nameservercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\nameservercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\gamesightcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\gamesightcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\versioncheckcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\versioncheckcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\relationshipscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\relationshipscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\playersettingscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\playersettingscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\playerreportingcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\playerreportingcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\playercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\playercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\objectivescontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\objectivescontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\imageservercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\imageservercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\gameconfigscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\gameconfigscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\avatarcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\avatarcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\controllers\\accountcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:controllers\\accountcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\appdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\appdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\progression.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\progression.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\hubs\\srhub.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:hubs\\srhub.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\reputation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\reputation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\playersetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\playersetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\account.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\account.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\avatar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\avatar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\platformdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\platformdata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\verificationmodels\\steamauthentication.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:verificationmodels\\steamauthentication.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\ir23.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:ir23.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\data\\appdbcontextfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:data\\appdbcontextfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|c:\\users\\admin\\source\\repos\\ir23\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
"RelativeMoniker": "D:0:0:{B88BA440-591B-4ABF-A043-1B9878E9CC28}|ir23.csproj|solutionrelative:properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": -1,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
}
]
},
{
"DockedWidth": 200,
"SelectedChildIndex": 8,
"Children": [
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "eacController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\eacController.cs",
"RelativeDocumentMoniker": "Controllers\\eacController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\eacController.cs",
"RelativeToolTip": "Controllers\\eacController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAkAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T17:05:21.648Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "playersController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playersController.cs",
"RelativeDocumentMoniker": "Controllers\\playersController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playersController.cs",
"RelativeToolTip": "Controllers\\playersController.cs",
"ViewState": "AgIAACMAAAAAAAAAAAAAADUAAAAhAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:07:03.085Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "Program.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Program.cs",
"RelativeDocumentMoniker": "Program.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Program.cs",
"RelativeToolTip": "Program.cs",
"ViewState": "AgIAAAEAAAAAAAAAAAAqwDYAAAAsAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T15:59:51.647Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "appsettings.json",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\appsettings.json",
"RelativeDocumentMoniker": "appsettings.json",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\appsettings.json",
"RelativeToolTip": "appsettings.json",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAABmAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
"WhenOpened": "2026-03-25T16:07:20.272Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "JwtService.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\VerificationModels\\JwtService.cs",
"RelativeDocumentMoniker": "VerificationModels\\JwtService.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\VerificationModels\\JwtService.cs",
"RelativeToolTip": "VerificationModels\\JwtService.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAABLAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T18:55:49.534Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "SteamAuth.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\VerificationModels\\SteamAuth.cs",
"RelativeDocumentMoniker": "VerificationModels\\SteamAuth.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\VerificationModels\\SteamAuth.cs",
"RelativeToolTip": "VerificationModels\\SteamAuth.cs",
"ViewState": "AgIAAAoAAAAAAAAAAAAAwB0AAABJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T18:24:00.37Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "playerReputationController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playerReputationController.cs",
"RelativeDocumentMoniker": "Controllers\\playerReputationController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playerReputationController.cs",
"RelativeToolTip": "Controllers\\playerReputationController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:43:52.259Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "cachedloginController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\cachedloginController.cs",
"RelativeDocumentMoniker": "Controllers\\cachedloginController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\cachedloginController.cs",
"RelativeToolTip": "Controllers\\cachedloginController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAACMAAAAvAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:40:52.989Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "defaultpfp.png",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\cdn\\images\\defaultpfp.png",
"RelativeDocumentMoniker": "cdn\\images\\defaultpfp.png",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\cdn\\images\\defaultpfp.png",
"RelativeToolTip": "cdn\\images\\defaultpfp.png",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001533|",
"WhenOpened": "2026-03-27T00:34:42.228Z"
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "customAvatarItemsController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\customAvatarItemsController.cs",
"RelativeDocumentMoniker": "Controllers\\customAvatarItemsController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\customAvatarItemsController.cs",
"RelativeToolTip": "Controllers\\customAvatarItemsController.cs",
"ViewState": "AgIAAAQAAAAAAAAAAAAAAAsAAAASAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:39:15.13Z"
},
{
"$type": "Document",
"DocumentIndex": 30,
"Title": "progression.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\progression.cs",
"RelativeDocumentMoniker": "Data\\progression.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\progression.cs",
"RelativeToolTip": "Data\\progression.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAA8AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:04:09.22Z"
},
{
"$type": "Document",
"DocumentIndex": 22,
"Title": "playerController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playerController.cs",
"RelativeDocumentMoniker": "Controllers\\playerController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playerController.cs",
"RelativeToolTip": "Controllers\\playerController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:13:33.009Z"
},
{
"$type": "Document",
"DocumentIndex": 17,
"Title": "gamesightController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\gamesightController.cs",
"RelativeDocumentMoniker": "Controllers\\gamesightController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\gamesightController.cs",
"RelativeToolTip": "Controllers\\gamesightController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:35:46.399Z"
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "dataController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\dataController.cs",
"RelativeDocumentMoniker": "Controllers\\dataController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\dataController.cs",
"RelativeToolTip": "Controllers\\dataController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAvAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:33:01.24Z"
},
{
"$type": "Document",
"DocumentIndex": 15,
"Title": "econController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\econController.cs",
"RelativeDocumentMoniker": "Controllers\\econController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\econController.cs",
"RelativeToolTip": "Controllers\\econController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAvAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:45:09.952Z"
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "checklistController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\checklistController.cs",
"RelativeDocumentMoniker": "Controllers\\checklistController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\checklistController.cs",
"RelativeToolTip": "Controllers\\checklistController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:51:00.226Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "threadController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\threadController.cs",
"RelativeDocumentMoniker": "Controllers\\threadController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\threadController.cs",
"RelativeToolTip": "Controllers\\threadController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:53:44.956Z"
},
{
"$type": "Document",
"DocumentIndex": 19,
"Title": "relationshipsController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\relationshipsController.cs",
"RelativeDocumentMoniker": "Controllers\\relationshipsController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\relationshipsController.cs",
"RelativeToolTip": "Controllers\\relationshipsController.cs",
"ViewState": "AgIAAAUAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-27T00:01:59.001Z"
},
{
"$type": "Document",
"DocumentIndex": 31,
"Title": "SRHub.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Hubs\\SRHub.cs",
"RelativeDocumentMoniker": "Hubs\\SRHub.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Hubs\\SRHub.cs",
"RelativeToolTip": "Hubs\\SRHub.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAA2AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:55:53.364Z"
},
{
"$type": "Document",
"DocumentIndex": 32,
"Title": "reputation.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\reputation.cs",
"RelativeDocumentMoniker": "Data\\reputation.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\reputation.cs",
"RelativeToolTip": "Data\\reputation.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAABWAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:33:09.577Z"
},
{
"$type": "Document",
"DocumentIndex": 23,
"Title": "objectivesController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\objectivesController.cs",
"RelativeDocumentMoniker": "Controllers\\objectivesController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\objectivesController.cs",
"RelativeToolTip": "Controllers\\objectivesController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAA0AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:30:21.744Z"
},
{
"$type": "Document",
"DocumentIndex": 21,
"Title": "PlayerReportingController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\PlayerReportingController.cs",
"RelativeDocumentMoniker": "Controllers\\PlayerReportingController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\PlayerReportingController.cs",
"RelativeToolTip": "Controllers\\PlayerReportingController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAcAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:28:30.675Z"
},
{
"$type": "Document",
"DocumentIndex": 20,
"Title": "playersettingsController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playersettingsController.cs",
"RelativeDocumentMoniker": "Controllers\\playersettingsController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\playersettingsController.cs",
"RelativeToolTip": "Controllers\\playersettingsController.cs",
"ViewState": "AgIAABYAAAAAAAAAAAAQwCQAAAAfAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:24:00.051Z"
},
{
"$type": "Document",
"DocumentIndex": 33,
"Title": "playersetting.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\playersetting.cs",
"RelativeDocumentMoniker": "Data\\playersetting.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\playersetting.cs",
"RelativeToolTip": "Data\\playersetting.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAABPAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:22:12.662Z"
},
{
"$type": "Document",
"DocumentIndex": 35,
"Title": "avatar.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\avatar.cs",
"RelativeDocumentMoniker": "Data\\avatar.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\avatar.cs",
"RelativeToolTip": "Data\\avatar.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAABLAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T23:11:33.49Z"
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "connectController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\connectController.cs",
"RelativeDocumentMoniker": "Controllers\\connectController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\connectController.cs",
"RelativeToolTip": "Controllers\\connectController.cs",
"ViewState": "AgIAABcAAAAAAAAAAAAAACkAAAAmAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T18:31:23.419Z"
},
{
"$type": "Document",
"DocumentIndex": 37,
"Title": "SteamAuthentication.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\VerificationModels\\SteamAuthentication.cs",
"RelativeDocumentMoniker": "VerificationModels\\SteamAuthentication.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\VerificationModels\\SteamAuthentication.cs",
"RelativeToolTip": "VerificationModels\\SteamAuthentication.cs",
"ViewState": "AgIAAAIAAAAAAAAAAAAcwBcAAAABAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T18:20:14.154Z"
},
{
"$type": "Document",
"DocumentIndex": 38,
"Title": "ir23.csproj",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\ir23.csproj",
"RelativeDocumentMoniker": "ir23.csproj",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\ir23.csproj",
"RelativeToolTip": "ir23.csproj",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2026-03-26T18:19:01.93Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "refreshtable.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\refreshtable.cs",
"RelativeDocumentMoniker": "Data\\refreshtable.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\refreshtable.cs",
"RelativeToolTip": "Data\\refreshtable.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T17:37:45.579Z"
},
{
"$type": "Document",
"DocumentIndex": 24,
"Title": "imageserverController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\imageserverController.cs",
"RelativeDocumentMoniker": "Controllers\\imageserverController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\imageserverController.cs",
"RelativeToolTip": "Controllers\\imageserverController.cs",
"ViewState": "AgIAAAwAAAAAAAAAAAAAwBcAAAALAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T17:13:08.376Z"
},
{
"$type": "Document",
"DocumentIndex": 27,
"Title": "avatarController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\avatarController.cs",
"RelativeDocumentMoniker": "Controllers\\avatarController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\avatarController.cs",
"RelativeToolTip": "Controllers\\avatarController.cs",
"ViewState": "AgIAADQAAAAAAAAAAAAcwEcAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T17:10:56.431Z"
},
{
"$type": "Document",
"DocumentIndex": 28,
"Title": "accountController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\accountController.cs",
"RelativeDocumentMoniker": "Controllers\\accountController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\accountController.cs",
"RelativeToolTip": "Controllers\\accountController.cs",
"ViewState": "AgIAAB0AAAAAAAAAAAAwwCoAAAAsAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-26T16:58:01.359Z"
},
{
"$type": "Document",
"DocumentIndex": 34,
"Title": "account.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\account.cs",
"RelativeDocumentMoniker": "Data\\account.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\account.cs",
"RelativeToolTip": "Data\\account.cs",
"ViewState": "AgIAAAUAAAAAAAAAAAAAABEAAAABAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T17:00:15.693Z"
},
{
"$type": "Document",
"DocumentIndex": 36,
"Title": "PlatformData.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\PlatformData.cs",
"RelativeDocumentMoniker": "Data\\PlatformData.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\PlatformData.cs",
"RelativeToolTip": "Data\\PlatformData.cs",
"ViewState": "AgIAAAMAAAAAAAAAAAAAAAcAAABIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:57:10.515Z"
},
{
"$type": "Document",
"DocumentIndex": 39,
"Title": "AppDbContextFactory.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\AppDbContextFactory.cs",
"RelativeDocumentMoniker": "Data\\AppDbContextFactory.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\AppDbContextFactory.cs",
"RelativeToolTip": "Data\\AppDbContextFactory.cs",
"ViewState": "AgIAAAEAAAAAAAAAAAAqwBUAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:53:48.565Z"
},
{
"$type": "Document",
"DocumentIndex": 29,
"Title": "AppDbContext.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\AppDbContext.cs",
"RelativeDocumentMoniker": "Data\\AppDbContext.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Data\\AppDbContext.cs",
"RelativeToolTip": "Data\\AppDbContext.cs",
"ViewState": "AgIAAAIAAAAAAAAAAAAAAAkAAAA+AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:44:29.821Z"
},
{
"$type": "Document",
"DocumentIndex": 18,
"Title": "versioncheckController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\versioncheckController.cs",
"RelativeDocumentMoniker": "Controllers\\versioncheckController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\versioncheckController.cs",
"RelativeToolTip": "Controllers\\versioncheckController.cs",
"ViewState": "AgIAAAwAAAAAAAAAAAAAAA8AAAAdAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:28:38.669Z"
},
{
"$type": "Document",
"DocumentIndex": 25,
"Title": "gameconfigsController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\gameconfigsController.cs",
"RelativeDocumentMoniker": "Controllers\\gameconfigsController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\gameconfigsController.cs",
"RelativeToolTip": "Controllers\\gameconfigsController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:24:44.991Z"
},
{
"$type": "Document",
"DocumentIndex": 26,
"Title": "configController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\configController.cs",
"RelativeDocumentMoniker": "Controllers\\configController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\configController.cs",
"RelativeToolTip": "Controllers\\configController.cs",
"ViewState": "AgIAAAQAAAAAAAAAAAAAAAkAAAAhAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T16:12:52.778Z"
},
{
"$type": "Document",
"DocumentIndex": 40,
"Title": "launchSettings.json",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Properties\\launchSettings.json",
"RelativeDocumentMoniker": "Properties\\launchSettings.json",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Properties\\launchSettings.json",
"RelativeToolTip": "Properties\\launchSettings.json",
"ViewState": "AgIAAAMAAAAAAAAAAIBJwBAAAAAuAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
"WhenOpened": "2026-03-25T15:52:33.042Z"
},
{
"$type": "Document",
"DocumentIndex": 16,
"Title": "NameServerController.cs",
"DocumentMoniker": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\NameServerController.cs",
"RelativeDocumentMoniker": "Controllers\\NameServerController.cs",
"ToolTip": "C:\\Users\\Admin\\source\\repos\\ir23\\Controllers\\NameServerController.cs",
"RelativeToolTip": "Controllers\\NameServerController.cs",
"ViewState": "AgIAACIAAAAAAAAAAAAAADIAAAAjAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-25T15:46:35.412Z"
}
]
}
]
}
]
}
+59
View File
@@ -0,0 +1,59 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Runtime.CompilerServices;
using System.Text.Json.Serialization;
namespace ir23.Controllers
{
[Route("/")]
[ApiController]
public class NameServerController : ControllerBase
{
public string serverUrl = "https://localhost:443";
[HttpGet]
public IActionResult NameServer()
{
return Ok(new
{
Accounts = serverUrl,
AI = serverUrl,
API = serverUrl,
Auth = serverUrl,
BugReporting = serverUrl,
Cards = serverUrl,
CDN = serverUrl+"/cdnserver",
Chat = serverUrl,
Clubs = serverUrl,
CMS = serverUrl,
Commerce = serverUrl,
Data = serverUrl,
DataCollection = serverUrl,
Discovery = serverUrl,
Econ = serverUrl,
GameLogs = serverUrl,
Geo = serverUrl,
Images = serverUrl+"/imageserver",
Leaderboard = serverUrl,
Link = serverUrl,
Lists = serverUrl,
Matchmaking = serverUrl,
Moderation = serverUrl,
Notifications = serverUrl,
PlatformNotifications = serverUrl,
PlayerSettings = serverUrl,
RoomComments = serverUrl,
Rooms = serverUrl,
Storage = serverUrl,
Strings = serverUrl,
StringsCDN = serverUrl+"/stringcdnserver",
Studio = serverUrl,
Thorn = serverUrl+"/thornserver",
Videos = serverUrl+"/cdnserver",
WWW = serverUrl
});
}
}
}
+22
View File
@@ -0,0 +1,22 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ir23.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class PlayerReportingController : ControllerBase
{
[HttpGet("v1/moderationBlockDetails")]
public IActionResult modblockdetails()
{
return Ok(new
{
ReportCategory = 0,
Duration = 0,
GameSessionId = 0,
Message = ""
});
}
}
}
+49
View File
@@ -0,0 +1,49 @@
using ir23.Data;
using ir23.VerificationModels;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
namespace ir23.Controllers
{
[Route("[controller]")]
[ApiController]
public class accountController : ControllerBase
{
private readonly AppDbContext _db;
private readonly JwtService _jwtService;
public accountController(AppDbContext db, JwtService jwtService)
{
_db = db;
_jwtService = jwtService;
}
[HttpGet("bulk")]
public async Task<IActionResult> getbulkuserdata(
[FromQuery] List<long> id
)
{
var accountDatas = await _db.Accounts.Where(
p => id.Contains(p.Id)
).ToListAsync();
return Ok(accountDatas);
}
[HttpGet("me")]
public async Task<IActionResult> getmyaccountdetails(
[FromHeader] string Authorization
)
{
var playerId = _jwtService.VerifyToken(Authorization);
var account = await _db.Accounts
.FirstOrDefaultAsync(p => p.Id == playerId);
return Ok(account);
}
}
}
+75
View File
@@ -0,0 +1,75 @@
using ir23.Data;
using ir23.VerificationModels;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
namespace ir23.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class avatarController : ControllerBase
{
private readonly JwtService _jwtService;
private readonly AppDbContext _db;
public avatarController(JwtService jwtService, AppDbContext db)
{
_jwtService = jwtService;
_db = db;
}
[HttpGet("v1/defaultunlocked")]
public IActionResult defaultunlocked()
{
return Ok(new List<object>());
}
[HttpGet("v2")]
public async Task<IActionResult> GetAvatar(
[FromHeader] string Authorization
)
{
var playerId = _jwtService.VerifyToken(Authorization);
if (playerId == null) return Unauthorized();
var avatardata = await _db.Avatars
.FirstOrDefaultAsync(x => x.accountId == playerId);
if (avatardata == null)
{
avatardata = new avatar
{
accountId = playerId,
OutfitSelections = "",
FaceFeatures = "",
SkinColour = "",
HairColor = ""
};
_db.Avatars.Add(avatardata);
await _db.SaveChangesAsync();
}
return Ok(avatardata);
}
[HttpGet("v4/items")]
public IActionResult getMyUnlockedItems()
{
return Ok(new List<object>());
}
[HttpGet("v1/defaultbaseavataritems")]
public IActionResult iofiowegjnioio()
{
return Ok(new List<object>());
}
}
}
+56
View File
@@ -0,0 +1,56 @@
using ir23.Data;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Threading.Tasks;
namespace ir23.Controllers
{
[Route("[controller]")]
[ApiController]
public class cachedloginController : ControllerBase
{
private readonly AppDbContext _db;
public cachedloginController(AppDbContext db)
{
_db = db;
}
[HttpGet("forplatformid/{platform}/{platformid}")]
public async Task<IActionResult> findcachedaccounts(
[FromRoute] int platform,
[FromRoute] string platformid
)
{
var accountIds = await _db.PlatformDatas
.Where(p => p.platform == platform && p.platformId == platformid)
.ToListAsync();
//.Select(p => p.accountId)
/*var accounts = await _db.Accounts
.Where(p => accountIds.Contains(p.Id))
.ToListAsync();
*/
return Ok(accountIds);
}
[HttpPost("forplatformids")]
public async Task<IActionResult> efiojwo()
{
using (var reader = new StreamReader(Request.Body))
{
var body = await reader.ReadToEndAsync();
Console.WriteLine(body);
}
return Ok(new List<object>());
}
}
}
+16
View File
@@ -0,0 +1,16 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ir23.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class checklistController : ControllerBase
{
[HttpGet("v1/current")]
public IActionResult ji0owefowjiefwefjoi()
{
return Ok(new List<object>());
}
}
}
+24
View File
@@ -0,0 +1,24 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ir23.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class configController : ControllerBase
{
[HttpGet("v1/amplitude")]
public IActionResult amplitudepls()
{
return Ok(new
{
AmplitudeKey = "6d44c7130493d0b7b217ca1281110d77",
UseRudderStack = false,
RudderStackKey = "",
UseStatSig = true,
StatSigKey = "client-55AOkoM7cfxsYT3yu5yoA01fo9Jipq9HQ1Y0IB6XHlj",
StatSigEnvironment = 0
});
}
}
}
+126
View File
@@ -0,0 +1,126 @@
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Text.Json;
using System.Net.Http;
using ir23.VerificationModels;
using Microsoft.AspNetCore.Http.Metadata;
namespace ir23.Controllers
{
[Route("[controller]")]
[ApiController]
public class connectController : ControllerBase
{
private readonly SteamAuth _steamAuth;
private readonly JwtService _jwtService;
public connectController(SteamAuth steamAuth, JwtService jwtService)
{
_steamAuth = steamAuth;
_jwtService = jwtService;
}
[HttpPost("token")]
public async Task<IActionResult> connecttoken([FromForm] LoginRequest request)
{
if (request.grant_type == "refresh_token")
{
var refreshToken = Request.Form["refresh_token"].ToString();
refreshToken = System.Text.RegularExpressions.Regex.Unescape(refreshToken);
refreshToken = refreshToken.Trim();
Console.WriteLine(refreshToken);
var accountId = await _jwtService.ValidateRefreshToken(refreshToken);
Console.WriteLine(accountId);
if (accountId == null)
return Unauthorized();
var accessToken = _jwtService.GenerateToken(accountId.Value);
var newRefreshToken = await _jwtService.GenerateRefreshToken(accountId.Value);
return Ok(new
{
access_token = accessToken,
refresh_token = newRefreshToken,
error = "",
error_description = "",
key = ""
});
}
var j = JsonSerializer.Deserialize<PlatformAuth>(request.platform_auth);
if (j == null || string.IsNullOrEmpty(j.Ticket) || string.IsNullOrEmpty(j.AppId))
return BadRequest();
var steamResult = await _steamAuth.VerifySteamTicket(
j.Ticket,
j.AppId,
request.account_id
);
if (steamResult)
{
var accessToken = _jwtService.GenerateToken(request.account_id);
var refreshToken = await _jwtService.GenerateRefreshToken(request.account_id);
return Ok(new
{
access_token = accessToken,
refresh_token = refreshToken,
error = "",
error_description = "",
key = ""
});
}
return Unauthorized();
}
public class LoginRequest
{
public string grant_type { get; set; }
public long account_id { get; set; }
public string client_id { get; set; }
public string client_secret { get; set; }
public string platform { get; set; }
public string platform_id { get; set; }
public string device_id { get; set; }
public string device_class { get; set; }
public string time { get; set; }
public string ver { get; set; }
public string cid { get; set; }
public string build_key { get; set; }
public string asid { get; set; }
public string locale { get; set; }
public string isInitialLogin { get; set; }
public string dinfo { get; set; }
public string eac_challenge { get; set; }
public string eac_response { get; set; }
public string platform_auth { get; set; }
}
public class PlatformAuth
{
public string Ticket { get; set; }
public string AppId { get; set; }
}
}
}
@@ -0,0 +1,30 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using System.Text.Json.Serialization;
namespace ir23.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class customAvatarItemsController : ControllerBase
{
[HttpGet("v1/isCreationAllowedForAccount")]
public IActionResult idefk()
{
return Ok(new iscreationallowedforaccountresponse
{
success = true,
value = null
});
}
public class iscreationallowedforaccountresponse
{
[JsonPropertyName("success")] public bool success { get; set; }
[JsonPropertyName("value")] public string value { get; set; }
}
}
}
+16
View File
@@ -0,0 +1,16 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ir23.Controllers
{
[Route("[controller]")]
[ApiController]
public class dataController : ControllerBase
{
[HttpPost("event")]
public IActionResult eventttetetijeit()
{
return Ok(new List<object>());
}
}
}
+22
View File
@@ -0,0 +1,22 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ir23.Controllers
{
[Route("[controller]")]
[ApiController]
public class eacController : ControllerBase
{
[HttpGet("challenge")]
public IActionResult challengeEAC()
{
return Ok("\"AQAAAGd9O3h2ynQW6Y/1MhdZC8VoHygxyTzmiRvAfpiRtJEBQ+NVaXMStRTsYQk42H1hbB7NGKhIpgfShk+ADtRW9EU/YF5320eGmINJZAqkm3pyX9QF/w1QT4IB2EQfOqTfpryQ3QFchXYqDgg/SbX+/X9mgzssbflIw3OAK+c=\"");
}
[HttpGet("challenge/patch")]
public IActionResult challengeEACPATCH()
{
return Ok("\"AQAAAHsg7mW5FQEE9HVl9EKMWXrqDzQxUCdgV/IPuQfbRgTx+cGnQqhhAgv1RvpihEC77gQ29JdoGFn2806Q+QPEj7nYg9C8pynbaiSVO8rKLJPvROsHuSXVJpQMv3TD8KyK3Y+n5bb86vAb5kRdZGD//uC8HY+D9jJLlEfTUlU=\"");
}
}
}
+20
View File
@@ -0,0 +1,20 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ir23.Controllers
{
[Route("[controller]")]
[ApiController]
public class econController : ControllerBase
{
[HttpGet("customAvatarItems/v1/owned")]
public IActionResult ownedavataritemscustom()
{
return Ok(new
{
Results = new List<object>(),
TotalResults = 0
});
}
}
}
+16
View File
@@ -0,0 +1,16 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ir23.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class gameconfigsController : ControllerBase
{
[HttpGet("v1/all")]
public IActionResult allconfig()
{
return Ok(new List<object>());
}
}
}
+16
View File
@@ -0,0 +1,16 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ir23.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class gamesightController : ControllerBase
{
[HttpPost("event")]
public IActionResult evennetentio()
{
return Ok(new List<object>());
}
}
}
+26
View File
@@ -0,0 +1,26 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Security.AccessControl;
namespace ir23.Controllers
{
[Route("[controller]")]
[ApiController]
public class imageserverController : ControllerBase
{
/*[HttpGet("{imagename}")]
public async Task<IActionResult> GetImage([FromRoute] string imagename, [FromQuery] string? sig = null)
{
var path = Path.Combine(Directory.GetCurrentDirectory(), "cdn", "images", imagename);
if (sig == "p1")
{
Response.Headers.Add("content-signature", "key-id=KEY:RSA:p1.rec.net; data=DE2ycF0i4LLjAnqUGvP6lqAPe3HGKLjmZ6nK8m3XidVFLabwQrYIb1WczC5Y6gN9MeDka0ux82yh29GrmSKEq85GSexTFlirnfoPGALl7fB5zeMfaQrwD0dbmO2vMnKe+ViP2RRCaotdYPYXWtEikpJUCVsH+o06EsBYOA3Nnxd93GQPnq0lo9Befjlxvhb9Q0gYBc45rPx0nkAYL2JixwDEroLgsQ8b69bnGE/gIAF0QkGwwDx2E4gMYJdL7xzWnpaIEsHjutFiot2cgHFYRIi0dJ4Ln7ExPgApQKa0Q4haU/qGvCBlhwtmbmnEFvlcX3bVlTcMGfcg6AKRKlRRpA==");
}
byte[] imagebytes = await System.IO.File.ReadAllBytesAsync(path);
return File(imagebytes, "image/png");
}*/
}
}
+20
View File
@@ -0,0 +1,20 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ir23.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class objectivesController : ControllerBase
{
[HttpGet("v1/myprogress")]
public IActionResult GetMyProgress()
{
return Ok(new
{
Objectives = new List<object>(),
ObjectiveGroups = new List<object>()
});
}
}
}
+16
View File
@@ -0,0 +1,16 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ir23.Controllers
{
[Route("[controller]")]
[ApiController]
public class playerController : ControllerBase
{
[HttpPost("login")]
public IActionResult LoginUser()
{
return Ok(new List<object>());
}
}
}
+64
View File
@@ -0,0 +1,64 @@
using ir23.Data;
using ir23.VerificationModels;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Threading.Tasks;
namespace ir23.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class playerReputationController : ControllerBase
{
private readonly AppDbContext _db;
private readonly JwtService _jwtService;
public playerReputationController(AppDbContext db, JwtService jwtService)
{
_db = db;
_jwtService = jwtService;
}
[HttpGet("v2/bulk")]
public async Task<IActionResult> GetBulkRep([FromQuery] List<int> id)
{
var playerreputations = new List<reputation>();
foreach (int i in id)
{
var rep = await _db.Reputations
.FirstOrDefaultAsync(x => x.accountId == i);
if (rep == null)
{
rep = new reputation
{
accountId = i,
IsCheerful = false,
Noteriety = 0,
CheerGeneral = 0,
CheerHelpful = 0,
CheerGreatHost = 0,
CheerSportsman = 0,
CheerCreative = 0,
CheerCredit = 20,
SubscriberCount = 0,
SubscribedCount = 0,
SelectedCheer = 0
};
_db.Reputations.Add(rep);
await _db.SaveChangesAsync();
}
playerreputations.Add(rep);
}
return Ok(playerreputations);
}
}
}
+57
View File
@@ -0,0 +1,57 @@
using ir23.Data;
using ir23.VerificationModels;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
namespace ir23.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class playersController : ControllerBase
{
private readonly AppDbContext _db;
private readonly JwtService _jwtService;
public playersController(AppDbContext db, JwtService jwtService)
{
_db = db;
_jwtService = jwtService;
}
[HttpGet("v2/progression/bulk")]
public async Task<IActionResult> progressionbulk([FromQuery] List<int> id)
{
var finalprog = new List<progression>();
foreach (int i in id)
{
var _progression = await _db.Progressions
.FirstOrDefaultAsync(x => x.PlayerId == i);
if (_progression == null)
{
_progression = new progression
{
PlayerId = i,
Level = 1,
XP = 0
};
_db.Progressions.Add(_progression);
await _db.SaveChangesAsync();
}
finalprog.Add(_progression);
}
return Ok(finalprog);
}
}
}
+42
View File
@@ -0,0 +1,42 @@
using ir23.Data;
using ir23.VerificationModels;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Threading.Tasks;
namespace ir23.Controllers
{
[Route("[controller]")]
[ApiController]
public class playersettingsController : ControllerBase
{
private readonly AppDbContext _db;
private readonly JwtService _jwtService;
public playersettingsController(AppDbContext db, JwtService jwtService)
{
_db = db;
_jwtService = jwtService;
}
[HttpGet]
public async Task<IActionResult> GetSettings(
[FromHeader] string Authorization
)
{
var playerId = _jwtService.VerifyToken(Authorization);
if (playerId == null) return Unauthorized();
var playersettings = await _db.PlayerSettings
.Where(x => x.accountId == playerId)
.ToListAsync();
return Ok(playersettings);
}
}
}
+16
View File
@@ -0,0 +1,16 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ir23.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class relationshipsController : ControllerBase
{
[HttpGet("v2/get")]
public IActionResult getRelationships()
{
return Ok(new List<object>());
}
}
}
+16
View File
@@ -0,0 +1,16 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ir23.Controllers
{
[Route("[controller]")]
[ApiController]
public class threadController : ControllerBase
{
[HttpGet]
public IActionResult getThreads()
{
return Ok(new List<object>());
}
}
}
+30
View File
@@ -0,0 +1,30 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
namespace ir23.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class versioncheckController : ControllerBase
{
[HttpGet("v4")]
public IActionResult checkversion([FromQuery] string v)
{
if (v == "20230331")
{
return Ok(new
{
VersionStatus = 0
});
}
else
{
return Ok(new
{
VersionStatus = 1
});
}
}
}
}
+23
View File
@@ -0,0 +1,23 @@
using Microsoft.EntityFrameworkCore;
namespace ir23.Data
{
public class AppDbContext : DbContext
{
public DbSet<PlatformData> PlatformDatas { get; set; }
public DbSet<account> Accounts { get; set; }
public DbSet<refreshtable> refreshtables { get; set; }
public DbSet<avatar> Avatars { get; set; }
public DbSet<playersetting> PlayerSettings { get; set; }
public DbSet<reputation> Reputations { get; set; }
public DbSet<progression> Progressions { get; set; }
public AppDbContext(DbContextOptions<AppDbContext> options)
: base(options)
{
}
}
}
+21
View File
@@ -0,0 +1,21 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
namespace ir23.Data
{
public class AppDbContextFactory : IDesignTimeDbContextFactory<AppDbContext>
{
public AppDbContext CreateDbContext(string[] args)
{
var connectionString = "server=us5.abrhosting.com;port=3306;database=s341_adminpanel;user=u341_JbImfFUYNs;password=tm8mEnRyDi8i1HS^3@hzt4FZ;";
var optionsBuilder = new DbContextOptionsBuilder<AppDbContext>();
optionsBuilder.UseMySql(connectionString,
new MySqlServerVersion(new Version(8, 0, 36))
);
return new AppDbContext(optionsBuilder.Options);
}
}
}
+13
View File
@@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ir23.Data
{
public class PlatformData
{
[JsonPropertyName("Id")] public long Id { get; set; }
[JsonPropertyName("platform")] public int platform { get; set; }
[JsonPropertyName("platformId")] public string platformId { get; set; }
[JsonPropertyName("accountId")] public long accountId { get; set; }
[JsonPropertyName("lastLoginTime")] public DateTime lastLoginTime { get; set; } = DateTime.UtcNow;
}
}
+18
View File
@@ -0,0 +1,18 @@
using System.Text.Json.Serialization;
namespace ir23.Data
{
public class account
{
[JsonPropertyName("accountId")] public long Id { get; set; }
[JsonPropertyName("displayName")] public required string displayName { get; set; }
[JsonPropertyName("bannerImage")] public required string bannerImage { get; set; } = "defaultpfp.png";
[JsonPropertyName("createdAt")] public required DateTime createdAt { get; set; } = DateTime.UtcNow;
[JsonPropertyName("isJunior")] public required bool isJunior { get; set; } = false;
[JsonPropertyName("platforms")] public int platforms { get; set; } = 0;
[JsonPropertyName("profileImage")] public required string profileImage { get; set; } = "defaultpfp.png";
[JsonPropertyName("username")] public required string username { get; set; }
[JsonPropertyName("developer")] public bool developer { get; set; } = false;
}
}
+14
View File
@@ -0,0 +1,14 @@
using System.Text.Json.Serialization;
namespace ir23.Data
{
public class avatar
{
[JsonPropertyName("Id")] public long Id { get; set; }
[JsonPropertyName("accountId")] public long accountId { get; set; }
[JsonPropertyName("OutfitSelections")] public required string OutfitSelections { get; set; } = "";
[JsonPropertyName("FaceFeatures")] public required string FaceFeatures { get; set; } = "";
[JsonPropertyName("SkinColor")] public required string SkinColour { get; set; } = "";
[JsonPropertyName("HairColor")] public required string HairColor { get; set; } = "";
}
}
+13
View File
@@ -0,0 +1,13 @@
using ir23.Migrations;
using System.Text.Json.Serialization;
namespace ir23.Data
{
public class playersetting
{
[JsonPropertyName("Id")] public long Id { get; set; }
[JsonPropertyName("accountId")] public required long accountId { get; set; }
[JsonPropertyName("Key")] public required string Key { get; set; }
[JsonPropertyName("Value")] public required string Value { get; set; }
}
}
+13
View File
@@ -0,0 +1,13 @@
using Newtonsoft.Json;
using System.Text.Json.Serialization;
namespace ir23.Data
{
public class progression
{
[JsonPropertyName("Id")] public long Id { get; set; }
[JsonPropertyName("PlayerId")] public long PlayerId { get; set; }
[JsonPropertyName("Level")] public int Level { get; set; }
[JsonPropertyName("XP")] public int XP { get; set; }
}
}
+12
View File
@@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace ir23.Data
{
public class refreshtable
{
public long Id { get; set; }
public required string RefreshToken { get; set; }
public required DateTime ExpiryTime { get; set; } = DateTime.UtcNow + TimeSpan.FromDays(7);
public required long AccountId { get; set; }
}
}
+22
View File
@@ -0,0 +1,22 @@
using ir23.Migrations;
using System.Text.Json.Serialization;
namespace ir23.Data
{
public class reputation
{
[JsonPropertyName("Id")] public long Id { get; set; }
[JsonPropertyName("accountId")] public required long accountId { get; set; }
[JsonPropertyName("IsCheerful")] public required bool IsCheerful { get; set; }
[JsonPropertyName("Noteriety")] public required int Noteriety { get; set; }
[JsonPropertyName("CheerGeneral")] public required int CheerGeneral { get; set; }
[JsonPropertyName("CheerHelpful")] public required int CheerHelpful { get; set; }
[JsonPropertyName("CheerGreatHost")] public required int CheerGreatHost { get; set; }
[JsonPropertyName("CheerSportsman")] public required int CheerSportsman { get; set; }
[JsonPropertyName("CheerCreative")] public required int CheerCreative { get; set; }
[JsonPropertyName("CheerCredit")] public required int CheerCredit { get; set; } = 20;
[JsonPropertyName("SubscriberCount")] public required int SubscriberCount { get; set; } = 0;
[JsonPropertyName("SubscribedCount")] public required int SubscribedCount { get; set; } = 0;
[JsonPropertyName("SelectedCheer")] public required int SelectedCheer { get; set; } = 0;
}
}
+19
View File
@@ -0,0 +1,19 @@
using Microsoft.AspNetCore.SignalR;
namespace ir23.Hubs
{
public class SRHub : Hub
{
public override async Task OnConnectedAsync()
{
Console.WriteLine($"Client Connected: {Context.ConnectionId}");
await base.OnConnectedAsync();
}
public override async Task OnDisconnectedAsync(Exception exception)
{
Console.WriteLine($"Client Disconnected: {Context.ConnectionId}");
await base.OnDisconnectedAsync(exception);
}
}
}
+56
View File
@@ -0,0 +1,56 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using ir23.Data;
#nullable disable
namespace ir23.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260325170745_InitialCreate")]
partial class InitialCreate
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ir23.Data.PlatformData", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<DateTime>("lastLoginTime")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "lastLoginTime");
b.Property<int>("platform")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platform");
b.Property<string>("platformId")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "platformId");
b.HasKey("Id");
b.ToTable("PlatformDatas");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,44 @@
using System;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ir23.Migrations
{
/// <inheritdoc />
public partial class InitialCreate : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterDatabase()
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "PlatformDatas",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
platform = table.Column<int>(type: "int", nullable: false),
platformId = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
accountId = table.Column<long>(type: "bigint", nullable: false),
lastLoginTime = table.Column<DateTime>(type: "datetime(6)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_PlatformDatas", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "PlatformDatas");
}
}
}
+104
View File
@@ -0,0 +1,104 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using ir23.Data;
#nullable disable
namespace ir23.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260325170853_accountsAdd")]
partial class accountsAdd
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ir23.Data.PlatformData", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<DateTime>("lastLoginTime")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "lastLoginTime");
b.Property<int>("platform")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platform");
b.Property<string>("platformId")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "platformId");
b.HasKey("Id");
b.ToTable("PlatformDatas");
});
modelBuilder.Entity("ir23.Data.account", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<string>("bannerImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "bannerImage");
b.Property<DateTime>("createdAt")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "createdAt");
b.Property<string>("displayName")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "displayName");
b.Property<bool>("isJunior")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "isJunior");
b.Property<int>("platforms")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platforms");
b.Property<string>("profileImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "profileImage");
b.Property<string>("username")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "username");
b.HasKey("Id");
b.ToTable("Accounts");
});
#pragma warning restore 612, 618
}
}
}
+48
View File
@@ -0,0 +1,48 @@
using System;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ir23.Migrations
{
/// <inheritdoc />
public partial class accountsAdd : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Accounts",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
accountId = table.Column<long>(type: "bigint", nullable: false),
displayName = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
bannerImage = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
createdAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
isJunior = table.Column<bool>(type: "tinyint(1)", nullable: false),
platforms = table.Column<int>(type: "int", nullable: false),
profileImage = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
username = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_Accounts", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Accounts");
}
}
}
+100
View File
@@ -0,0 +1,100 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using ir23.Data;
#nullable disable
namespace ir23.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260326165257_accountsIdFix")]
partial class accountsIdFix
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ir23.Data.PlatformData", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<DateTime>("lastLoginTime")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "lastLoginTime");
b.Property<int>("platform")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platform");
b.Property<string>("platformId")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "platformId");
b.HasKey("Id");
b.ToTable("PlatformDatas");
});
modelBuilder.Entity("ir23.Data.account", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<string>("bannerImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "bannerImage");
b.Property<DateTime>("createdAt")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "createdAt");
b.Property<string>("displayName")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "displayName");
b.Property<bool>("isJunior")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "isJunior");
b.Property<int>("platforms")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platforms");
b.Property<string>("profileImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "profileImage");
b.Property<string>("username")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "username");
b.HasKey("Id");
b.ToTable("Accounts");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,29 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ir23.Migrations
{
/// <inheritdoc />
public partial class accountsIdFix : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "accountId",
table: "Accounts");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<long>(
name: "accountId",
table: "Accounts",
type: "bigint",
nullable: false,
defaultValue: 0L);
}
}
}
+125
View File
@@ -0,0 +1,125 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using ir23.Data;
#nullable disable
namespace ir23.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260326190847_refreshTableConfig")]
partial class refreshTableConfig
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ir23.Data.PlatformData", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<DateTime>("lastLoginTime")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "lastLoginTime");
b.Property<int>("platform")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platform");
b.Property<string>("platformId")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "platformId");
b.HasKey("Id");
b.ToTable("PlatformDatas");
});
modelBuilder.Entity("ir23.Data.account", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<string>("bannerImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "bannerImage");
b.Property<DateTime>("createdAt")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "createdAt");
b.Property<bool>("developer")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "developer");
b.Property<string>("displayName")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "displayName");
b.Property<bool>("isJunior")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "isJunior");
b.Property<int>("platforms")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platforms");
b.Property<string>("profileImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "profileImage");
b.Property<string>("username")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "username");
b.HasKey("Id");
b.ToTable("Accounts");
});
modelBuilder.Entity("ir23.Data.refreshtable", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<DateTime>("ExpiryTime")
.HasColumnType("datetime(6)");
b.Property<string>("RefreshToken")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("refreshtables");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,51 @@
using System;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ir23.Migrations
{
/// <inheritdoc />
public partial class refreshTableConfig : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "developer",
table: "Accounts",
type: "tinyint(1)",
nullable: false,
defaultValue: false);
migrationBuilder.CreateTable(
name: "refreshtables",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
RefreshToken = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ExpiryTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
AccountId = table.Column<long>(type: "bigint", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_refreshtables", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "refreshtables");
migrationBuilder.DropColumn(
name: "developer",
table: "Accounts");
}
}
}
+161
View File
@@ -0,0 +1,161 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using ir23.Data;
#nullable disable
namespace ir23.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260326231457_AvatarDB")]
partial class AvatarDB
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ir23.Data.PlatformData", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<DateTime>("lastLoginTime")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "lastLoginTime");
b.Property<int>("platform")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platform");
b.Property<string>("platformId")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "platformId");
b.HasKey("Id");
b.ToTable("PlatformDatas");
});
modelBuilder.Entity("ir23.Data.account", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<string>("bannerImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "bannerImage");
b.Property<DateTime>("createdAt")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "createdAt");
b.Property<bool>("developer")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "developer");
b.Property<string>("displayName")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "displayName");
b.Property<bool>("isJunior")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "isJunior");
b.Property<int>("platforms")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platforms");
b.Property<string>("profileImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "profileImage");
b.Property<string>("username")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "username");
b.HasKey("Id");
b.ToTable("Accounts");
});
modelBuilder.Entity("ir23.Data.avatar", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<string>("FaceFeatures")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "FaceFeatures");
b.Property<string>("HairColor")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "HairColor");
b.Property<string>("OutfitSelections")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "OutfitSelections");
b.Property<string>("SkinColour")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "SkinColor");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("Avatars");
});
modelBuilder.Entity("ir23.Data.refreshtable", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<DateTime>("ExpiryTime")
.HasColumnType("datetime(6)");
b.Property<string>("RefreshToken")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("refreshtables");
});
#pragma warning restore 612, 618
}
}
}
+44
View File
@@ -0,0 +1,44 @@
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ir23.Migrations
{
/// <inheritdoc />
public partial class AvatarDB : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Avatars",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
accountId = table.Column<long>(type: "bigint", nullable: false),
OutfitSelections = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
FaceFeatures = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
SkinColour = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
HairColor = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_Avatars", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Avatars");
}
}
}
+243
View File
@@ -0,0 +1,243 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using ir23.Data;
#nullable disable
namespace ir23.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260326234138_ReputationAddition")]
partial class ReputationAddition
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ir23.Data.PlatformData", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<DateTime>("lastLoginTime")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "lastLoginTime");
b.Property<int>("platform")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platform");
b.Property<string>("platformId")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "platformId");
b.HasKey("Id");
b.ToTable("PlatformDatas");
});
modelBuilder.Entity("ir23.Data.account", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<string>("bannerImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "bannerImage");
b.Property<DateTime>("createdAt")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "createdAt");
b.Property<bool>("developer")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "developer");
b.Property<string>("displayName")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "displayName");
b.Property<bool>("isJunior")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "isJunior");
b.Property<int>("platforms")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platforms");
b.Property<string>("profileImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "profileImage");
b.Property<string>("username")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "username");
b.HasKey("Id");
b.ToTable("Accounts");
});
modelBuilder.Entity("ir23.Data.avatar", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<string>("FaceFeatures")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "FaceFeatures");
b.Property<string>("HairColor")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "HairColor");
b.Property<string>("OutfitSelections")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "OutfitSelections");
b.Property<string>("SkinColour")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "SkinColor");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("Avatars");
});
modelBuilder.Entity("ir23.Data.playersetting", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<string>("Key")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "Key");
b.Property<string>("Value")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "Value");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("PlayerSettings");
});
modelBuilder.Entity("ir23.Data.refreshtable", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<DateTime>("ExpiryTime")
.HasColumnType("datetime(6)");
b.Property<string>("RefreshToken")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("refreshtables");
});
modelBuilder.Entity("ir23.Data.reputation", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<int>("CheerCreative")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerCreative");
b.Property<int>("CheerCredit")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerCredit");
b.Property<int>("CheerGeneral")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerGeneral");
b.Property<int>("CheerGreatHost")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerGreatHost");
b.Property<int>("CheerHelpful")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerHelpful");
b.Property<int>("CheerSportsman")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerSportsman");
b.Property<int>("Noteriety")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "Noteriety");
b.Property<int>("SelectedCheer")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "SelectedCheer");
b.Property<int>("SubscribedCount")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "SubscribedCount");
b.Property<int>("SubscriberCount")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "SubscriberCount");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("Reputations");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,67 @@
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ir23.Migrations
{
/// <inheritdoc />
public partial class ReputationAddition : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "PlayerSettings",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
accountId = table.Column<long>(type: "bigint", nullable: false),
Key = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Value = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_PlayerSettings", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "Reputations",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
accountId = table.Column<long>(type: "bigint", nullable: false),
Noteriety = table.Column<int>(type: "int", nullable: false),
CheerGeneral = table.Column<int>(type: "int", nullable: false),
CheerHelpful = table.Column<int>(type: "int", nullable: false),
CheerGreatHost = table.Column<int>(type: "int", nullable: false),
CheerSportsman = table.Column<int>(type: "int", nullable: false),
CheerCreative = table.Column<int>(type: "int", nullable: false),
CheerCredit = table.Column<int>(type: "int", nullable: false),
SubscriberCount = table.Column<int>(type: "int", nullable: false),
SubscribedCount = table.Column<int>(type: "int", nullable: false),
SelectedCheer = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Reputations", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "PlayerSettings");
migrationBuilder.DropTable(
name: "Reputations");
}
}
}
@@ -0,0 +1,247 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using ir23.Data;
#nullable disable
namespace ir23.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260326234817_ReputationCheerfulAddition")]
partial class ReputationCheerfulAddition
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ir23.Data.PlatformData", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<DateTime>("lastLoginTime")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "lastLoginTime");
b.Property<int>("platform")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platform");
b.Property<string>("platformId")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "platformId");
b.HasKey("Id");
b.ToTable("PlatformDatas");
});
modelBuilder.Entity("ir23.Data.account", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<string>("bannerImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "bannerImage");
b.Property<DateTime>("createdAt")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "createdAt");
b.Property<bool>("developer")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "developer");
b.Property<string>("displayName")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "displayName");
b.Property<bool>("isJunior")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "isJunior");
b.Property<int>("platforms")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platforms");
b.Property<string>("profileImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "profileImage");
b.Property<string>("username")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "username");
b.HasKey("Id");
b.ToTable("Accounts");
});
modelBuilder.Entity("ir23.Data.avatar", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<string>("FaceFeatures")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "FaceFeatures");
b.Property<string>("HairColor")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "HairColor");
b.Property<string>("OutfitSelections")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "OutfitSelections");
b.Property<string>("SkinColour")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "SkinColor");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("Avatars");
});
modelBuilder.Entity("ir23.Data.playersetting", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<string>("Key")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "Key");
b.Property<string>("Value")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "Value");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("PlayerSettings");
});
modelBuilder.Entity("ir23.Data.refreshtable", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<DateTime>("ExpiryTime")
.HasColumnType("datetime(6)");
b.Property<string>("RefreshToken")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("refreshtables");
});
modelBuilder.Entity("ir23.Data.reputation", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<int>("CheerCreative")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerCreative");
b.Property<int>("CheerCredit")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerCredit");
b.Property<int>("CheerGeneral")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerGeneral");
b.Property<int>("CheerGreatHost")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerGreatHost");
b.Property<int>("CheerHelpful")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerHelpful");
b.Property<int>("CheerSportsman")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerSportsman");
b.Property<bool>("IsCheerful")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "IsCheerful");
b.Property<int>("Noteriety")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "Noteriety");
b.Property<int>("SelectedCheer")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "SelectedCheer");
b.Property<int>("SubscribedCount")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "SubscribedCount");
b.Property<int>("SubscriberCount")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "SubscriberCount");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("Reputations");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,29 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ir23.Migrations
{
/// <inheritdoc />
public partial class ReputationCheerfulAddition : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "IsCheerful",
table: "Reputations",
type: "tinyint(1)",
nullable: false,
defaultValue: false);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "IsCheerful",
table: "Reputations");
}
}
}
+271
View File
@@ -0,0 +1,271 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using ir23.Data;
#nullable disable
namespace ir23.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260327000558_ProgressionTable")]
partial class ProgressionTable
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ir23.Data.PlatformData", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<DateTime>("lastLoginTime")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "lastLoginTime");
b.Property<int>("platform")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platform");
b.Property<string>("platformId")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "platformId");
b.HasKey("Id");
b.ToTable("PlatformDatas");
});
modelBuilder.Entity("ir23.Data.account", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<string>("bannerImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "bannerImage");
b.Property<DateTime>("createdAt")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "createdAt");
b.Property<bool>("developer")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "developer");
b.Property<string>("displayName")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "displayName");
b.Property<bool>("isJunior")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "isJunior");
b.Property<int>("platforms")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platforms");
b.Property<string>("profileImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "profileImage");
b.Property<string>("username")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "username");
b.HasKey("Id");
b.ToTable("Accounts");
});
modelBuilder.Entity("ir23.Data.avatar", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<string>("FaceFeatures")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "FaceFeatures");
b.Property<string>("HairColor")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "HairColor");
b.Property<string>("OutfitSelections")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "OutfitSelections");
b.Property<string>("SkinColour")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "SkinColor");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("Avatars");
});
modelBuilder.Entity("ir23.Data.playersetting", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<string>("Key")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "Key");
b.Property<string>("Value")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "Value");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("PlayerSettings");
});
modelBuilder.Entity("ir23.Data.progression", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<int>("Level")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "Level");
b.Property<long>("PlayerId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "PlayerId");
b.Property<int>("XP")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "XP");
b.HasKey("Id");
b.ToTable("Progressions");
});
modelBuilder.Entity("ir23.Data.refreshtable", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<DateTime>("ExpiryTime")
.HasColumnType("datetime(6)");
b.Property<string>("RefreshToken")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("refreshtables");
});
modelBuilder.Entity("ir23.Data.reputation", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<int>("CheerCreative")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerCreative");
b.Property<int>("CheerCredit")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerCredit");
b.Property<int>("CheerGeneral")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerGeneral");
b.Property<int>("CheerGreatHost")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerGreatHost");
b.Property<int>("CheerHelpful")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerHelpful");
b.Property<int>("CheerSportsman")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerSportsman");
b.Property<bool>("IsCheerful")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "IsCheerful");
b.Property<int>("Noteriety")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "Noteriety");
b.Property<int>("SelectedCheer")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "SelectedCheer");
b.Property<int>("SubscribedCount")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "SubscribedCount");
b.Property<int>("SubscriberCount")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "SubscriberCount");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("Reputations");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,38 @@
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ir23.Migrations
{
/// <inheritdoc />
public partial class ProgressionTable : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Progressions",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
PlayerId = table.Column<long>(type: "bigint", nullable: false),
Level = table.Column<int>(type: "int", nullable: false),
XP = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Progressions", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Progressions");
}
}
}
+268
View File
@@ -0,0 +1,268 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using ir23.Data;
#nullable disable
namespace ir23.Migrations
{
[DbContext(typeof(AppDbContext))]
partial class AppDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ir23.Data.PlatformData", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<DateTime>("lastLoginTime")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "lastLoginTime");
b.Property<int>("platform")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platform");
b.Property<string>("platformId")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "platformId");
b.HasKey("Id");
b.ToTable("PlatformDatas");
});
modelBuilder.Entity("ir23.Data.account", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.Property<string>("bannerImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "bannerImage");
b.Property<DateTime>("createdAt")
.HasColumnType("datetime(6)")
.HasAnnotation("Relational:JsonPropertyName", "createdAt");
b.Property<bool>("developer")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "developer");
b.Property<string>("displayName")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "displayName");
b.Property<bool>("isJunior")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "isJunior");
b.Property<int>("platforms")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "platforms");
b.Property<string>("profileImage")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "profileImage");
b.Property<string>("username")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "username");
b.HasKey("Id");
b.ToTable("Accounts");
});
modelBuilder.Entity("ir23.Data.avatar", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<string>("FaceFeatures")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "FaceFeatures");
b.Property<string>("HairColor")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "HairColor");
b.Property<string>("OutfitSelections")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "OutfitSelections");
b.Property<string>("SkinColour")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "SkinColor");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("Avatars");
});
modelBuilder.Entity("ir23.Data.playersetting", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<string>("Key")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "Key");
b.Property<string>("Value")
.IsRequired()
.HasColumnType("longtext")
.HasAnnotation("Relational:JsonPropertyName", "Value");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("PlayerSettings");
});
modelBuilder.Entity("ir23.Data.progression", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<int>("Level")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "Level");
b.Property<long>("PlayerId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "PlayerId");
b.Property<int>("XP")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "XP");
b.HasKey("Id");
b.ToTable("Progressions");
});
modelBuilder.Entity("ir23.Data.refreshtable", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<DateTime>("ExpiryTime")
.HasColumnType("datetime(6)");
b.Property<string>("RefreshToken")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("Id");
b.ToTable("refreshtables");
});
modelBuilder.Entity("ir23.Data.reputation", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "Id");
b.Property<int>("CheerCreative")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerCreative");
b.Property<int>("CheerCredit")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerCredit");
b.Property<int>("CheerGeneral")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerGeneral");
b.Property<int>("CheerGreatHost")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerGreatHost");
b.Property<int>("CheerHelpful")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerHelpful");
b.Property<int>("CheerSportsman")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "CheerSportsman");
b.Property<bool>("IsCheerful")
.HasColumnType("tinyint(1)")
.HasAnnotation("Relational:JsonPropertyName", "IsCheerful");
b.Property<int>("Noteriety")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "Noteriety");
b.Property<int>("SelectedCheer")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "SelectedCheer");
b.Property<int>("SubscribedCount")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "SubscribedCount");
b.Property<int>("SubscriberCount")
.HasColumnType("int")
.HasAnnotation("Relational:JsonPropertyName", "SubscriberCount");
b.Property<long>("accountId")
.HasColumnType("bigint")
.HasAnnotation("Relational:JsonPropertyName", "accountId");
b.HasKey("Id");
b.ToTable("Reputations");
});
#pragma warning restore 612, 618
}
}
}
+80
View File
@@ -0,0 +1,80 @@
using ir23.Data;
using ir23.Hubs;
using ir23.VerificationModels;
using Microsoft.EntityFrameworkCore;
using System.Data.Common;
using System.Text.Json;
namespace ir23
{
public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddHttpClient<SteamAuth>();
builder.Services.AddScoped<JwtService>();
builder.Services.AddSignalR();
// Add services to the container.
builder.Logging.AddFilter("Microsoft.EntityFrameworkCore.Database", LogLevel.None);
builder.Services.AddControllers()
.AddJsonOptions(options =>
{
options.JsonSerializerOptions.PropertyNamingPolicy = null;
});
var connectionString = builder.Configuration.GetConnectionString("Default");
builder.Services.AddDbContext<AppDbContext>(options => options.UseMySql(
connectionString,
new MySqlServerVersion(new Version(8,0,36)),
mySqlOptions =>
{
mySqlOptions.EnableRetryOnFailure(
maxRetryCount: 5,
maxRetryDelay: TimeSpan.FromSeconds(5),
errorNumbersToAdd: null
);
}
));
var app = builder.Build();
app.MapHub<SRHub>("/hub/v1");
app.Use(async (context, next) =>
{
var start = DateTime.UtcNow;
context.Request.EnableBuffering();
var formData = context.Request.HasFormContentType ? (await context.Request.ReadFormAsync()).ToDictionary(f => f.Key, f => f.Value.ToString()) : new Dictionary<string, string>();
var query = context.Request.Query.ToDictionary(q => q.Key, q => q.Value.ToString());
await next();
var duration = (DateTime.UtcNow - start).TotalMilliseconds;
var request = context.Request;
Console.WriteLine($"{context.Response.StatusCode} {request.Method} {request.Scheme}://{request.Host}{request.Path} {duration}ms\nQuery: {JsonSerializer.Serialize(query)}\nForm: {JsonSerializer.Serialize(formData)}");
});
// Configure the HTTP request pipeline.
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();
}
}
}
+23
View File
@@ -0,0 +1,23 @@
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:35807",
"sslPort": 44365
}
},
"profiles": {
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": false,
"launchUrl": "weatherforecast",
"applicationUrl": "https://localhost:443;http://localhost:5074",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
+121
View File
@@ -0,0 +1,121 @@
using System.Security.Claims;
using Microsoft.IdentityModel.Tokens;
using ir23.Data;
using System.IdentityModel.Tokens.Jwt;
using Microsoft.EntityFrameworkCore;
namespace ir23.VerificationModels
{
public class JwtService
{
private string jwtkey = "CHANGE_ME_PLEASE!! CHANGE TO A RANDOM UUID";
private readonly AppDbContext _db;
public JwtService(AppDbContext db)
{
_db = db;
}
public string GenerateToken(long userId)
{
var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes(jwtkey));
var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
var claims = new[]
{
new Claim(JwtRegisteredClaimNames.Sub, userId.ToString())
};
var token = new JwtSecurityToken(
claims: claims,
expires: DateTime.UtcNow.AddHours(1),
signingCredentials: creds
);
return new JwtSecurityTokenHandler().WriteToken(token);
}
public long VerifyToken(string token)
{
try
{
if (token.StartsWith("Bearer "))
{
token = token.Substring("Bearer ".Length);
}
var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes(jwtkey));
var tokenHandler = new JwtSecurityTokenHandler();
tokenHandler.ValidateToken(token, new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = key,
ValidateIssuer = false,
ValidateAudience = false,
ValidateLifetime = true
}, out SecurityToken validatedToken);
var jwtToken = (JwtSecurityToken)validatedToken;
var userId = jwtToken.Claims.First(x => x.Type == JwtRegisteredClaimNames.Sub).Value;
return long.Parse(userId);
}
catch
{
return -1;
}
}
public async Task<string> GenerateRefreshToken(long accountId)
{
var existingToken = await _db.refreshtables
.FirstOrDefaultAsync(r => r.AccountId == accountId && r.ExpiryTime > DateTime.UtcNow);
if (existingToken != null)
{
return existingToken.RefreshToken;
}
var expiredTokens = await _db.refreshtables
.Where(r => r.AccountId == accountId)
.ToListAsync();
_db.refreshtables.RemoveRange(expiredTokens);
await _db.SaveChangesAsync();
var refreshToken = Convert.ToBase64String(System.Security.Cryptography.RandomNumberGenerator.GetBytes(64));
var refreshTokenRecord = new refreshtable
{
RefreshToken = refreshToken,
ExpiryTime = DateTime.UtcNow.AddDays(7),
AccountId = accountId
};
_db.refreshtables.Add(refreshTokenRecord);
await _db.SaveChangesAsync();
return refreshToken;
}
public async Task<long?> ValidateRefreshToken(string refreshToken)
{
var token = await _db.refreshtables
.FirstOrDefaultAsync(r => r.RefreshToken == refreshToken);
if (token == null || token.ExpiryTime < DateTime.UtcNow)
return null;
return token.AccountId;
}
public async Task RevokeRefreshToken(string refreshToken)
{
var token = await _db.refreshtables
.FirstOrDefaultAsync(r => r.RefreshToken == refreshToken);
if (token != null)
{
_db.refreshtables.Remove(token);
await _db.SaveChangesAsync();
}
}
}
}
+57
View File
@@ -0,0 +1,57 @@
using ir23.Data;
using Microsoft.AspNetCore.Http.HttpResults;
using Microsoft.EntityFrameworkCore;
using System.Net.Http;
using System.Text.Json;
namespace ir23.VerificationModels
{
public class SteamAuth
{
private readonly HttpClient _httpClient;
private readonly AppDbContext _db;
public SteamAuth(HttpClient httpClient, AppDbContext db)
{
_httpClient = httpClient;
_db = db;
}
public async Task<bool> VerifySteamTicket(string ticket, string appid, long accountid)
{
var url = "https://api.steampowered.com/ISteamUserAuth/AuthenticateUserTicket/v1" + $"?key=CHANGE MY KEY! TO VALID STEAM API KEY!&appid={appid}&ticket={ticket}";
try
{
var response = await _httpClient.GetAsync(url);
var content = await response.Content.ReadAsStringAsync();
var j = JsonSerializer.Deserialize<steamroot>(content);
var platformdata = await _db.PlatformDatas
.FirstOrDefaultAsync(p => p.accountId == accountid && p.platformId == j.response.@params.steamid);
if (platformdata != null)
{
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
}
}
+24
View File
@@ -0,0 +1,24 @@
using System.Text.Json.Serialization;
namespace ir23.VerificationModels
{
public class steamparams
{
[JsonPropertyName("result")] public string result { get; set; }
[JsonPropertyName("steamid")] public string steamid { get; set; }
[JsonPropertyName("ownersteamid")] public string ownersteamid { get; set; }
[JsonPropertyName("vacbanned")] public bool vacbanned { get; set; }
[JsonPropertyName("publisherbanned")] public bool publisherbanned { get; set; }
}
public class steamresponse
{
[JsonPropertyName("params")]
public steamparams @params { get; set; }
}
public class steamroot
{
[JsonPropertyName("response")]
public steamresponse response { get; set; }
}
}
+8
View File
@@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}
+12
View File
@@ -0,0 +1,12 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"Default": "server=YOUR_SERVER_IP_HERE;port=3306;database=redacted;user=redacted;password=redacted"
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More