├── .gitignore ├── .vs ├── KemonoDownloader │ ├── DesignTimeBuild │ │ └── .dtbcache.v2 │ └── v17 │ │ ├── .futdcache.v2 │ │ └── .suo └── ProjectEvaluation │ ├── kemonodownloader.metadata.v5.1 │ └── kemonodownloader.projects.v5.1 ├── KemonoDownloader.sln ├── KemonoDownloader ├── .gitattributes ├── .gitignore ├── KemonoDownloader.csproj ├── KemonoDownloader.sln ├── Logic │ ├── DownloadingArt.cs │ ├── MediaStorageOperations.cs │ └── ProgramFunctions.cs ├── NLog.config ├── Program.cs ├── README.md └── kemonoDownloader.db ├── KemonoDownloaderDataModels ├── Context │ └── KemonoDbContext.cs ├── KemonoDownloaderDataModels.csproj ├── Models │ ├── Artist.cs │ ├── Media.cs │ └── Post.cs ├── bin │ └── Debug │ │ ├── KemonoDownloaderDataModels.1.0.0.nupkg │ │ └── net6.0 │ │ ├── KemonoDownloaderDataModels.deps.json │ │ ├── KemonoDownloaderDataModels.dll │ │ ├── KemonoDownloaderDataModels.pdb │ │ └── KemonoDownloaderDataModels.runtimeconfig.json └── obj │ ├── Debug │ ├── KemonoDownloaderDataModels.1.0.0.nuspec │ └── net6.0 │ │ ├── .NETCoreApp,Version=v6.0.AssemblyAttributes.cs │ │ ├── KemonoDownloaderDataModels.AssemblyInfo.cs │ │ ├── KemonoDownloaderDataModels.AssemblyInfoInputs.cache │ │ ├── KemonoDownloaderDataModels.GeneratedMSBuildEditorConfig.editorconfig │ │ ├── KemonoDownloaderDataModels.GlobalUsings.g.cs │ │ ├── KemonoDownloaderDataModels.assets.cache │ │ ├── KemonoDownloaderDataModels.csproj.AssemblyReference.cache │ │ ├── KemonoDownloaderDataModels.csproj.BuildWithSkipAnalyzers │ │ ├── KemonoDownloaderDataModels.csproj.CoreCompileInputs.cache │ │ ├── KemonoDownloaderDataModels.csproj.FileListAbsolute.txt │ │ ├── KemonoDownloaderDataModels.dll │ │ ├── KemonoDownloaderDataModels.genruntimeconfig.cache │ │ ├── KemonoDownloaderDataModels.pdb │ │ ├── ref │ │ └── KemonoDownloaderDataModels.dll │ │ └── refint │ │ └── KemonoDownloaderDataModels.dll │ ├── KemonoDownloaderDataModels.csproj.nuget.dgspec.json │ ├── KemonoDownloaderDataModels.csproj.nuget.g.props │ ├── KemonoDownloaderDataModels.csproj.nuget.g.targets │ ├── project.assets.json │ └── project.nuget.cache └── artistUrls.txt /.gitignore: -------------------------------------------------------------------------------- 1 | .vs/ -------------------------------------------------------------------------------- /.vs/KemonoDownloader/DesignTimeBuild/.dtbcache.v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/.vs/KemonoDownloader/DesignTimeBuild/.dtbcache.v2 -------------------------------------------------------------------------------- /.vs/KemonoDownloader/v17/.futdcache.v2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/.vs/KemonoDownloader/v17/.futdcache.v2 -------------------------------------------------------------------------------- /.vs/KemonoDownloader/v17/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/.vs/KemonoDownloader/v17/.suo -------------------------------------------------------------------------------- /.vs/ProjectEvaluation/kemonodownloader.metadata.v5.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/.vs/ProjectEvaluation/kemonodownloader.metadata.v5.1 -------------------------------------------------------------------------------- /.vs/ProjectEvaluation/kemonodownloader.projects.v5.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/.vs/ProjectEvaluation/kemonodownloader.projects.v5.1 -------------------------------------------------------------------------------- /KemonoDownloader.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.3.32811.315 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KemonoDownloader", "KemonoDownloader\KemonoDownloader.csproj", "{7F710B52-5339-4EDC-BBB5-99B08AE169E9}" 7 | EndProject 8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KemonoDownloaderDataModels", "KemonoDownloaderDataModels\KemonoDownloaderDataModels.csproj", "{29D35D1E-9124-4A62-ABE1-ACC1F0302FE2}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {7F710B52-5339-4EDC-BBB5-99B08AE169E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {7F710B52-5339-4EDC-BBB5-99B08AE169E9}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {7F710B52-5339-4EDC-BBB5-99B08AE169E9}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {7F710B52-5339-4EDC-BBB5-99B08AE169E9}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {29D35D1E-9124-4A62-ABE1-ACC1F0302FE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {29D35D1E-9124-4A62-ABE1-ACC1F0302FE2}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {29D35D1E-9124-4A62-ABE1-ACC1F0302FE2}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {29D35D1E-9124-4A62-ABE1-ACC1F0302FE2}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {27C90BDC-7ADD-43F1-900D-4EA278DF3487} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /KemonoDownloader/.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /KemonoDownloader/.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.rsuser 8 | *.suo 9 | *.user 10 | *.userosscache 11 | *.sln.docstates 12 | 13 | # User-specific files (MonoDevelop/Xamarin Studio) 14 | *.userprefs 15 | 16 | # Mono auto generated files 17 | mono_crash.* 18 | 19 | # Build results 20 | [Dd]ebug/ 21 | [Dd]ebugPublic/ 22 | [Rr]elease/ 23 | [Rr]eleases/ 24 | x64/ 25 | x86/ 26 | [Ww][Ii][Nn]32/ 27 | [Aa][Rr][Mm]/ 28 | [Aa][Rr][Mm]64/ 29 | bld/ 30 | [Bb]in/ 31 | [Oo]bj/ 32 | [Oo]ut/ 33 | [Ll]og/ 34 | [Ll]ogs/ 35 | 36 | # Visual Studio 2015/2017 cache/options directory 37 | .vs/ 38 | # Uncomment if you have tasks that create the project's static files in wwwroot 39 | #wwwroot/ 40 | 41 | # Visual Studio 2017 auto generated files 42 | Generated\ Files/ 43 | 44 | # MSTest test Results 45 | [Tt]est[Rr]esult*/ 46 | [Bb]uild[Ll]og.* 47 | 48 | # NUnit 49 | *.VisualState.xml 50 | TestResult.xml 51 | nunit-*.xml 52 | 53 | # Build Results of an ATL Project 54 | [Dd]ebugPS/ 55 | [Rr]eleasePS/ 56 | dlldata.c 57 | 58 | # Benchmark Results 59 | BenchmarkDotNet.Artifacts/ 60 | 61 | # .NET Core 62 | project.lock.json 63 | project.fragment.lock.json 64 | artifacts/ 65 | 66 | # ASP.NET Scaffolding 67 | ScaffoldingReadMe.txt 68 | 69 | # StyleCop 70 | StyleCopReport.xml 71 | 72 | # Files built by Visual Studio 73 | *_i.c 74 | *_p.c 75 | *_h.h 76 | *.ilk 77 | *.meta 78 | *.obj 79 | *.iobj 80 | *.pch 81 | *.pdb 82 | *.ipdb 83 | *.pgc 84 | *.pgd 85 | *.rsp 86 | *.sbr 87 | *.tlb 88 | *.tli 89 | *.tlh 90 | *.tmp 91 | *.tmp_proj 92 | *_wpftmp.csproj 93 | *.log 94 | *.vspscc 95 | *.vssscc 96 | .builds 97 | *.pidb 98 | *.svclog 99 | *.scc 100 | 101 | # Chutzpah Test files 102 | _Chutzpah* 103 | 104 | # Visual C++ cache files 105 | ipch/ 106 | *.aps 107 | *.ncb 108 | *.opendb 109 | *.opensdf 110 | *.sdf 111 | *.cachefile 112 | *.VC.db 113 | *.VC.VC.opendb 114 | 115 | # Visual Studio profiler 116 | *.psess 117 | *.vsp 118 | *.vspx 119 | *.sap 120 | 121 | # Visual Studio Trace Files 122 | *.e2e 123 | 124 | # TFS 2012 Local Workspace 125 | $tf/ 126 | 127 | # Guidance Automation Toolkit 128 | *.gpState 129 | 130 | # ReSharper is a .NET coding add-in 131 | _ReSharper*/ 132 | *.[Rr]e[Ss]harper 133 | *.DotSettings.user 134 | 135 | # TeamCity is a build add-in 136 | _TeamCity* 137 | 138 | # DotCover is a Code Coverage Tool 139 | *.dotCover 140 | 141 | # AxoCover is a Code Coverage Tool 142 | .axoCover/* 143 | !.axoCover/settings.json 144 | 145 | # Coverlet is a free, cross platform Code Coverage Tool 146 | coverage*.json 147 | coverage*.xml 148 | coverage*.info 149 | 150 | # Visual Studio code coverage results 151 | *.coverage 152 | *.coveragexml 153 | 154 | # NCrunch 155 | _NCrunch_* 156 | .*crunch*.local.xml 157 | nCrunchTemp_* 158 | 159 | # MightyMoose 160 | *.mm.* 161 | AutoTest.Net/ 162 | 163 | # Web workbench (sass) 164 | .sass-cache/ 165 | 166 | # Installshield output folder 167 | [Ee]xpress/ 168 | 169 | # DocProject is a documentation generator add-in 170 | DocProject/buildhelp/ 171 | DocProject/Help/*.HxT 172 | DocProject/Help/*.HxC 173 | DocProject/Help/*.hhc 174 | DocProject/Help/*.hhk 175 | DocProject/Help/*.hhp 176 | DocProject/Help/Html2 177 | DocProject/Help/html 178 | 179 | # Click-Once directory 180 | publish/ 181 | 182 | # Publish Web Output 183 | *.[Pp]ublish.xml 184 | *.azurePubxml 185 | # Note: Comment the next line if you want to checkin your web deploy settings, 186 | # but database connection strings (with potential passwords) will be unencrypted 187 | *.pubxml 188 | *.publishproj 189 | 190 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 191 | # checkin your Azure Web App publish settings, but sensitive information contained 192 | # in these scripts will be unencrypted 193 | PublishScripts/ 194 | 195 | # NuGet Packages 196 | *.nupkg 197 | # NuGet Symbol Packages 198 | *.snupkg 199 | # The packages folder can be ignored because of Package Restore 200 | **/[Pp]ackages/* 201 | # except build/, which is used as an MSBuild target. 202 | !**/[Pp]ackages/build/ 203 | # Uncomment if necessary however generally it will be regenerated when needed 204 | #!**/[Pp]ackages/repositories.config 205 | # NuGet v3's project.json files produces more ignorable files 206 | *.nuget.props 207 | *.nuget.targets 208 | 209 | # Microsoft Azure Build Output 210 | csx/ 211 | *.build.csdef 212 | 213 | # Microsoft Azure Emulator 214 | ecf/ 215 | rcf/ 216 | 217 | # Windows Store app package directories and files 218 | AppPackages/ 219 | BundleArtifacts/ 220 | Package.StoreAssociation.xml 221 | _pkginfo.txt 222 | *.appx 223 | *.appxbundle 224 | *.appxupload 225 | 226 | # Visual Studio cache files 227 | # files ending in .cache can be ignored 228 | *.[Cc]ache 229 | # but keep track of directories ending in .cache 230 | !?*.[Cc]ache/ 231 | 232 | # Others 233 | ClientBin/ 234 | ~$* 235 | *~ 236 | *.dbmdl 237 | *.dbproj.schemaview 238 | *.jfm 239 | *.pfx 240 | *.publishsettings 241 | orleans.codegen.cs 242 | 243 | # Including strong name files can present a security risk 244 | # (https://github.com/github/gitignore/pull/2483#issue-259490424) 245 | #*.snk 246 | 247 | # Since there are multiple workflows, uncomment next line to ignore bower_components 248 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 249 | #bower_components/ 250 | 251 | # RIA/Silverlight projects 252 | Generated_Code/ 253 | 254 | # Backup & report files from converting an old project file 255 | # to a newer Visual Studio version. Backup files are not needed, 256 | # because we have git ;-) 257 | _UpgradeReport_Files/ 258 | Backup*/ 259 | UpgradeLog*.XML 260 | UpgradeLog*.htm 261 | ServiceFabricBackup/ 262 | *.rptproj.bak 263 | 264 | # SQL Server files 265 | *.mdf 266 | *.ldf 267 | *.ndf 268 | 269 | # Business Intelligence projects 270 | *.rdl.data 271 | *.bim.layout 272 | *.bim_*.settings 273 | *.rptproj.rsuser 274 | *- [Bb]ackup.rdl 275 | *- [Bb]ackup ([0-9]).rdl 276 | *- [Bb]ackup ([0-9][0-9]).rdl 277 | 278 | # Microsoft Fakes 279 | FakesAssemblies/ 280 | 281 | # GhostDoc plugin setting file 282 | *.GhostDoc.xml 283 | 284 | # Node.js Tools for Visual Studio 285 | .ntvs_analysis.dat 286 | node_modules/ 287 | 288 | # Visual Studio 6 build log 289 | *.plg 290 | 291 | # Visual Studio 6 workspace options file 292 | *.opt 293 | 294 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 295 | *.vbw 296 | 297 | # Visual Studio LightSwitch build output 298 | **/*.HTMLClient/GeneratedArtifacts 299 | **/*.DesktopClient/GeneratedArtifacts 300 | **/*.DesktopClient/ModelManifest.xml 301 | **/*.Server/GeneratedArtifacts 302 | **/*.Server/ModelManifest.xml 303 | _Pvt_Extensions 304 | 305 | # Paket dependency manager 306 | .paket/paket.exe 307 | paket-files/ 308 | 309 | # FAKE - F# Make 310 | .fake/ 311 | 312 | # CodeRush personal settings 313 | .cr/personal 314 | 315 | # Python Tools for Visual Studio (PTVS) 316 | __pycache__/ 317 | *.pyc 318 | 319 | # Cake - Uncomment if you are using it 320 | # tools/** 321 | # !tools/packages.config 322 | 323 | # Tabs Studio 324 | *.tss 325 | 326 | # Telerik's JustMock configuration file 327 | *.jmconfig 328 | 329 | # BizTalk build output 330 | *.btp.cs 331 | *.btm.cs 332 | *.odx.cs 333 | *.xsd.cs 334 | 335 | # OpenCover UI analysis results 336 | OpenCover/ 337 | 338 | # Azure Stream Analytics local run output 339 | ASALocalRun/ 340 | 341 | # MSBuild Binary and Structured Log 342 | *.binlog 343 | 344 | # NVidia Nsight GPU debugger configuration file 345 | *.nvuser 346 | 347 | # MFractors (Xamarin productivity tool) working folder 348 | .mfractor/ 349 | 350 | # Local History for Visual Studio 351 | .localhistory/ 352 | 353 | # BeatPulse healthcheck temp database 354 | healthchecksdb 355 | 356 | # Backup folder for Package Reference Convert tool in Visual Studio 2017 357 | MigrationBackup/ 358 | 359 | # Ionide (cross platform F# VS Code tools) working folder 360 | .ionide/ 361 | 362 | # Fody - auto-generated XML schema 363 | FodyWeavers.xsd -------------------------------------------------------------------------------- /KemonoDownloader/KemonoDownloader.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | enable 7 | enable 8 | 9 | 10 | 11 | 12 | 13 | all 14 | runtime; build; native; contentfiles; analyzers; buildtransitive 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | PreserveNewest 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /KemonoDownloader/KemonoDownloader.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.1.32328.378 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KemonoDownloader", "KemonoDownloader.csproj", "{7D5888D1-5C01-476F-AF2E-4A5A7EBCA163}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KemonoDownloaderDataModels", "C:\Users\Gandeloft\source\repos\KemonoDownloaderDataModels\KemonoDownloaderDataModels.csproj", "{38EE4554-2573-401B-95B4-2CFCEFCFA9C0}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {7D5888D1-5C01-476F-AF2E-4A5A7EBCA163}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {7D5888D1-5C01-476F-AF2E-4A5A7EBCA163}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {7D5888D1-5C01-476F-AF2E-4A5A7EBCA163}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {7D5888D1-5C01-476F-AF2E-4A5A7EBCA163}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {38EE4554-2573-401B-95B4-2CFCEFCFA9C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {38EE4554-2573-401B-95B4-2CFCEFCFA9C0}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {38EE4554-2573-401B-95B4-2CFCEFCFA9C0}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {38EE4554-2573-401B-95B4-2CFCEFCFA9C0}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {AAE4E2AF-E78A-404B-9FD4-9552F17432A7} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /KemonoDownloader/Logic/DownloadingArt.cs: -------------------------------------------------------------------------------- 1 | using HtmlAgilityPack; 2 | using System.Net; 3 | using KemonoDownloaderDataModels.Models; 4 | using Microsoft.EntityFrameworkCore; 5 | using System.Text.RegularExpressions; 6 | using System.Drawing; 7 | using System; 8 | using NLog; 9 | 10 | namespace KemonoDownloader.Logic 11 | { 12 | internal class DownloadingArt 13 | { 14 | public static readonly Logger logger = LogManager.GetCurrentClassLogger(); 15 | public static readonly string KEMONO_BASE_URL = "https://kemono.party/"; 16 | private readonly int POSTS_PER_PAGE = 50; 17 | private readonly string paginationMarker = "?o="; 18 | private readonly MediaStorageOperations storageOps = new MediaStorageOperations(); 19 | 20 | private CookieContainer _cookiesContainer => SetCookieContainer(); 21 | public CookieContainer SetCookieContainer(string sessionString = "eyJfcGVybWFuZW50Ijp0cnVlLCJhY2NvdW50X2lkIjoxNzc0Nn0.Y0IIxA.blaHuCz9ddG7TEUw70X-oxMP1bo") 22 | { 23 | CookieContainer cookiesContainer = new CookieContainer(); 24 | cookiesContainer.Add(new Cookie("session", sessionString) { Domain = "https://kemono.party/" }); 25 | return cookiesContainer; 26 | } 27 | 28 | public void DownloadArt(List artistUrls) 29 | { 30 | // One by one artist 31 | foreach (var artistUrl in artistUrls) 32 | { 33 | ProcessSingleArtistUrl(artistUrl); 34 | } 35 | } 36 | 37 | /// 38 | /// This gets all of the artists posts, 39 | /// saves them to the database, 40 | /// then proceeds to download their art from each post. 41 | /// 42 | /// 43 | private void ProcessSingleArtistUrl(string artistUrl) 44 | { 45 | HtmlDocument firstArtistPage = TryLoop(() => 46 | { 47 | return LoadPageHtmlFromUrl(artistUrl); 48 | } 49 | ); 50 | 51 | string artistName = GetArtistsName(firstArtistPage); 52 | Artist artist = storageOps.GetArtistDatabaseInstance(artistName, artistUrl); 53 | 54 | int numberOfPosts = GetArtistsNumberOfPages(firstArtistPage); 55 | GetAllArtistPosts(artist, numberOfPosts); 56 | Console.WriteLine("Proceeding to download the artist's media from their " + 57 | "posts saved in the database."); 58 | DownloadArtistMedia(artist); 59 | } 60 | 61 | /// 62 | /// Fetched all artist's posts from Kemono and saves them in the database 63 | /// 64 | /// 65 | /// 66 | private void GetAllArtistPosts(Artist artist, int numberOfPosts) 67 | { 68 | var fullPages = numberOfPosts / POSTS_PER_PAGE; 69 | if (numberOfPosts % POSTS_PER_PAGE == 0) 70 | { 71 | fullPages -= 1; 72 | } 73 | for (int i = 0; i <= fullPages; i++) 74 | { 75 | var postHrefs = TryLoop(() => 76 | { 77 | return GetAllPostOnAPage(artist.ArtistUrl + paginationMarker + i * POSTS_PER_PAGE); 78 | }); 79 | 80 | Console.WriteLine($"Processing {artist.Name} - ({artist.ArtistUrl}) posts"); 81 | ProcessPostHrefBatch(postHrefs, artist); 82 | } 83 | } 84 | 85 | /// 86 | /// The logic below is extracted into a seperate method because of the need 87 | /// to break out of a two loops. 88 | /// 89 | /// 90 | /// 91 | /// 92 | private void ProcessPostHrefBatch(List postHrefs, Artist artist) 93 | { 94 | foreach (string postHref in postHrefs) 95 | { 96 | Console.Write($"Processing post {postHref}..."); 97 | if (storageOps.SavePostIntoDatabase(postHref, artist)) 98 | { 99 | Console.WriteLine(" -- Post saved to database"); 100 | } 101 | else 102 | { 103 | Console.WriteLine("Post already exists in database"); 104 | } 105 | } 106 | } 107 | 108 | private void GetImagesFromASinglePost(string choice, Post post) 109 | { 110 | HtmlWeb hw = new HtmlWeb(); 111 | HtmlDocument doc = new HtmlDocument(); 112 | doc = TryLoop(() => 113 | { 114 | return hw.Load(post.Url()); 115 | }); 116 | 117 | if (doc.DocumentNode.SelectNodes("//div[contains(@class, 'post__files')]") != null) 118 | { 119 | foreach (HtmlNode div in doc.DocumentNode.SelectNodes("//div[contains(@class, 'post__files')]")) 120 | { 121 | var counter = 0; 122 | // Get the value of the HREF attribute 123 | foreach (HtmlNode url in div.SelectNodes("//a[contains(@class, 'fileThumb')]")) 124 | { 125 | Sleep(); 126 | string hrefValue = url.GetAttributeValue("href", string.Empty); 127 | string extension = hrefValue.Split(".").Last(); 128 | if (extension.Equals("jpe")) 129 | { 130 | extension = "jpg"; 131 | } 132 | var fileName = storageOps.ValidatePathName(post.Url().Split("post/")[1] + "_" + counter + "." + extension); 133 | 134 | string postFolder = post.Artist.Name; 135 | 136 | Media mediaInDb = storageOps.GetMediaInDatabase(post, hrefValue, fileName); 137 | 138 | if (mediaInDb is null) 139 | { 140 | continue; 141 | } 142 | 143 | //// create a folder for each post as well 144 | //if (choice.Equals("y")) 145 | //{ 146 | // var postName = GetPostName(doc); 147 | // postFolder = postFolder + "\\" + postName; 148 | //} 149 | 150 | // Make sure that the directory exists 151 | System.IO.Directory.CreateDirectory(postFolder); 152 | 153 | if (!storageOps.CheckIfFileExists(postFolder + "\\" + fileName)) 154 | { 155 | Console.WriteLine($"Saving: {fileName}"); 156 | if (extension.Equals("gif")) 157 | { 158 | SaveGif(KEMONO_BASE_URL + mediaInDb.Href, postFolder + "\\" + fileName); 159 | } 160 | else SaveImage(KEMONO_BASE_URL + mediaInDb.Href, postFolder + "\\" + fileName); 161 | } 162 | else Console.WriteLine($"File exists, skipping: {fileName}"); 163 | counter += 1; 164 | storageOps.MarkMediaExistsInDb(mediaInDb); 165 | } 166 | } 167 | } 168 | } 169 | 170 | private void DownloadArtistMedia(Artist artist) 171 | { 172 | foreach (Post post in artist.ArtistPosts) 173 | { 174 | if (post.Processed) 175 | { 176 | Console.WriteLine($"\n {post.KemonoId} post fully processed."); 177 | continue; 178 | } 179 | Directory.CreateDirectory(artist.Name); 180 | string choice = "n"; 181 | GetPostAttachments(choice, post); 182 | GetImagesFromASinglePost(choice, post); 183 | storageOps.MarkPostProcessedInDb(post); 184 | } 185 | } 186 | 187 | private string GetPostHtmlContentAsString(Post post) 188 | { 189 | HtmlWeb hw = new HtmlWeb(); 190 | var doc = hw.Load(post.Url()); 191 | return doc.Text; 192 | } 193 | 194 | //private void ProcessArtistUrlWithCocksies(string artistUrl) 195 | //{ 196 | // HttpClientHandler httpClientHandler = new HttpClientHandler(); 197 | // httpClientHandler.CookieContainer 198 | // HttpClient httpClient = new HttpClient(); 199 | // httpClient.BaseAddress = new Uri("https://kemono.party/"); 200 | // httpClient.coo 201 | // // get all posts 202 | // HttpWebRequest hw = new HtmlWebRequest(); 203 | // hw.UseCookies = true; 204 | // hw.PreRequest += request => 205 | // { 206 | // request.CookieContainer = _cookiesContainer; 207 | // return true; 208 | // }; 209 | //} 210 | public static HtmlDocument LoadPageHtmlFromUrl(string artistUrl) 211 | { 212 | HtmlDocument doc = new HtmlDocument(); 213 | HtmlWeb hw = new HtmlWeb(); 214 | doc = hw.Load(artistUrl); 215 | return doc; 216 | } 217 | public int GetArtistsNumberOfPages(HtmlDocument doc) 218 | { 219 | var posts = doc.DocumentNode.SelectSingleNode("//small"); 220 | if (posts != null) 221 | return int.Parse(posts.InnerHtml.Split("\n")[1].Split(" ").Last()); 222 | 223 | // if an artist only has 1 page there is no post count section, 224 | // but we can just count the number of elements on the current page 225 | // Get root node for posts on list and count article children 226 | var tiles = doc.DocumentNode.SelectSingleNode("//div[@class=\"card-list__items\"]").SelectNodes("//article"); 227 | return tiles.Count; 228 | } 229 | public string GetArtistsName(HtmlDocument doc) 230 | { 231 | var artistNameator = doc.DocumentNode.SelectSingleNode("//*[@itemprop='name']"); 232 | string artistName = artistNameator.GetDirectInnerText(); 233 | return artistName; 234 | } 235 | /// 236 | /// Checks if the artists already exists in the database and 237 | /// returnts its instance. If it doesn't exists, creates is 238 | /// and returns it. 239 | /// 240 | /// 241 | /// 242 | /// 243 | 244 | static List GetAllPostOnAPage(string pageUrl) 245 | { 246 | HtmlWeb hw = new HtmlWeb(); 247 | List postHrefs = new List(); 248 | var doc = hw.Load(pageUrl); 249 | Program.logger.Info($"Processing page {pageUrl}"); 250 | foreach (HtmlNode div in doc.DocumentNode.SelectNodes("//article[contains(@class, 'post-card')]")) 251 | { 252 | // Get the values of the href attribute of each post on the page 253 | string postHref = div.GetAttributeValue("data-id", string.Empty); 254 | postHrefs.Add(postHref); 255 | } 256 | return postHrefs; 257 | } 258 | 259 | private void GetPostAttachments(string choice, Post post) 260 | { 261 | string postUrl = post.Url(); 262 | HtmlWeb hw = new HtmlWeb(); 263 | var doc = TryLoop(() => 264 | { 265 | return hw.Load(postUrl); 266 | }); 267 | 268 | if (doc.DocumentNode.SelectNodes("//a[contains(@class, 'post__attachment-link')]") != null) 269 | { 270 | foreach (HtmlNode attachment in doc.DocumentNode.SelectNodes("//a[contains(@class, 'post__attachment-link')]")) 271 | { 272 | var url = attachment.GetAttributeValue("href", string.Empty); 273 | var fullUrl = KEMONO_BASE_URL + url; 274 | var fileName = attachment.InnerText; 275 | fileName = storageOps.ValidatePathName(postUrl.Split("post/")[1] + "_" + fileName.Split("\n")[1].TrimStart().Split("\n")[0]); 276 | 277 | Media mediaInDb = storageOps.GetMediaInDatabase(post, url, fileName); 278 | 279 | if (mediaInDb is null) 280 | { 281 | break; 282 | } 283 | 284 | if (!storageOps.CheckIfFileExists(mediaInDb.Path())) 285 | { 286 | Console.WriteLine("Downloading: " + fullUrl); 287 | WebClient webClient = new WebClient(); 288 | Console.WriteLine($"Downloading attachment: {fileName}"); 289 | 290 | // Create post folder 291 | //if (choice.Equals("y")) 292 | //{ 293 | // System.IO.Directory.CreateDirectory(media.Post.Artist.Name); 294 | //} 295 | 296 | TryLoopAction(() => 297 | { 298 | webClient.DownloadFile(new Uri(fullUrl), mediaInDb.Post.Artist.Name + "\\" + fileName); 299 | }); 300 | Console.WriteLine("Download done."); 301 | webClient.Dispose(); 302 | } 303 | else 304 | { 305 | Console.WriteLine($"File exists, skipping: {fileName}"); 306 | } 307 | storageOps.MarkMediaExistsInDb(mediaInDb); 308 | } 309 | } 310 | } 311 | 312 | private void TryLoopAction(Action anyAction) 313 | { 314 | while (true) 315 | { 316 | try 317 | { 318 | anyAction(); 319 | break; 320 | } 321 | catch (Exception e) 322 | { 323 | Console.ForegroundColor = ConsoleColor.Red; 324 | Console.Write("Error: "); 325 | Console.ResetColor(); 326 | Console.Write(e.Message + "\n" 327 | + e.StackTrace + "\n" 328 | + e.InnerException); 329 | System.Threading.Thread.Sleep(2000); // * 330 | } 331 | } 332 | } 333 | 334 | private void SaveGif(string gifUrl, string filePath) 335 | { 336 | Console.WriteLine("Downloading: " + gifUrl); 337 | WebClient webClient = new WebClient(); 338 | Console.WriteLine($"Downloading attachment: {filePath}"); 339 | string nullString = TryLoop(() => 340 | { 341 | webClient.DownloadFile(new Uri(gifUrl), filePath); 342 | return String.Empty; 343 | } 344 | ); 345 | webClient.Dispose(); 346 | } 347 | 348 | private bool SaveImage(string imageUrl, string filePath) 349 | { 350 | WebClient client = new WebClient(); 351 | 352 | Console.WriteLine("Downloading: " + imageUrl); 353 | TryLoop(() => 354 | { 355 | client.DownloadFile(new Uri(imageUrl), filePath); 356 | return string.Empty; 357 | } 358 | ); 359 | client.Dispose(); 360 | return true; 361 | } 362 | 363 | static void Sleep(int length = 1) 364 | { 365 | Random rnd = new Random(); 366 | var randInt = 0; 367 | if (length == 0) 368 | { 369 | randInt = rnd.Next(1354, 5987); 370 | Console.WriteLine($"Next post, slept for {randInt} miliseconds so as to not overburden the site."); 371 | } 372 | else 373 | { 374 | randInt = rnd.Next(585, 3576); 375 | Console.WriteLine($"Slept for {randInt} miliseconds so as to not overburden the site."); 376 | } 377 | 378 | Thread.Sleep(randInt); 379 | } 380 | 381 | // https://stackoverflow.com/a/23103561/10299831 382 | static T TryLoop(Func anyMethod) 383 | { 384 | while (true) 385 | { 386 | try 387 | { 388 | return anyMethod(); 389 | } 390 | catch (Exception e) 391 | { 392 | Console.WriteLine(e.Message); 393 | System.Threading.Thread.Sleep(2000); // * 394 | } 395 | } 396 | return default(T); 397 | } 398 | } 399 | } 400 | -------------------------------------------------------------------------------- /KemonoDownloader/Logic/MediaStorageOperations.cs: -------------------------------------------------------------------------------- 1 | using HtmlAgilityPack; 2 | using KemonoDownloaderDataModels.Models; 3 | using Microsoft.EntityFrameworkCore; 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Text.RegularExpressions; 9 | using System.Threading.Tasks; 10 | 11 | namespace KemonoDownloader.Logic 12 | { 13 | public class MediaStorageOperations 14 | { 15 | private KemonoDbContext dbContext = new KemonoDbContext(); 16 | 17 | public MediaStorageOperations() 18 | { 19 | } 20 | 21 | /// 22 | /// When an artist doesn't have the path value in the database 23 | /// this method fills it (e.g. when an artist has only just 24 | /// been created) 25 | /// 26 | /// 27 | private string CreateArtistPath(Artist artist) 28 | { 29 | /// from -> https://kemono.party/fanbox/user/9016 30 | /// to -> fanbox/user/9016 31 | char[] artistUrlReversed = artist.ArtistUrl.Reverse().ToArray(); 32 | string artistUrlReversedString = new string(artistUrlReversed); 33 | int charactersToSkipInUrl = 0; 34 | charactersToSkipInUrl += artistUrlReversedString.IndexOf("/"); 35 | artistUrlReversedString = new string(artistUrlReversedString.Skip(artistUrlReversedString.IndexOf("/")).ToArray()); 36 | charactersToSkipInUrl += artistUrlReversedString.IndexOf("/"); 37 | artistUrlReversedString = new string(artistUrlReversedString.Skip(artistUrlReversedString.IndexOf("/")).ToArray()); 38 | charactersToSkipInUrl += artistUrlReversedString.IndexOf("/"); 39 | //string rawArtistKemonoHref = new string(artist.ArtistUrl.Skip(artist.ArtistUrl.Count() - charactersToSkipInUrl).ToArray()); 40 | string userDirectoryPath = ValidatePathName(artist.Name + "(" + artist.ArtistUrl.Remove(0, DownloadingArt.KEMONO_BASE_URL.Length) + ")"); 41 | userDirectoryPath = userDirectoryPath.Replace("user", "-"); 42 | return userDirectoryPath; 43 | } 44 | 45 | public string ValidatePathName(string input, string replacement = "") 46 | { 47 | var regexSearch = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars()); 48 | var r = new Regex(string.Format("[{0}]", Regex.Escape(regexSearch))); 49 | var fileName = r.Replace(input, replacement); 50 | if (fileName.Length > 120) 51 | { 52 | fileName = fileName.Substring(0, 119); 53 | } 54 | return fileName; 55 | } 56 | 57 | public bool CheckIfFileExists(string fileName) 58 | { 59 | var workingDirectory = Environment.CurrentDirectory; 60 | var file = $"{workingDirectory}\\{fileName}"; 61 | return File.Exists(file); 62 | } 63 | 64 | /// 65 | /// Get Post from database. 66 | /// If the post doesn't exists must be provided with an artist 67 | /// as well because it needs to create the post and for that it needs 68 | /// the artis to assotiate it with. 69 | /// 70 | /// 71 | /// 72 | /// Returns false if post already exists in database. 73 | /// 74 | public bool SavePostIntoDatabase(string postHref, Artist? artist = null) 75 | { 76 | int postKemonoId = int.Parse(postHref); 77 | Post post = dbContext.Posts.FirstOrDefault(x => x.KemonoId == postKemonoId); 78 | if (post == null) 79 | { 80 | post = new Post(); 81 | post.Artist = artist; 82 | post.KemonoId = postKemonoId; 83 | // Makes the database 99+% larger 84 | //post.HtmlContent = GetPostHtmlContentAsString(post); 85 | dbContext.Posts.Add(post); 86 | dbContext.SaveChanges(); 87 | return true; 88 | } 89 | else 90 | { 91 | return false; 92 | } 93 | } 94 | 95 | public Media GetMediaInDatabase(Post post, string url, string fileName) 96 | { 97 | Media media = dbContext.Media.FirstOrDefault(x => x.Href.Equals(url)); 98 | 99 | if (media == null) 100 | { 101 | media = new Media(); 102 | media.Post = post; 103 | media.FileName = fileName; 104 | media.Href = url; 105 | media.DateAdded = DateTime.Now; 106 | dbContext.Media.Add(media); 107 | dbContext.SaveChanges(); 108 | return media; 109 | } 110 | else if (media.Exists) 111 | { 112 | Console.WriteLine($"{media.Href} already processed."); 113 | return null; 114 | } 115 | else return media; 116 | } 117 | 118 | public Artist GetArtistDatabaseInstance(string artistName, string artistUrl) 119 | { 120 | Artist artistsInDb = artistsInDb = dbContext.Artists.Include(a => a.ArtistPosts).FirstOrDefault(x => x.ArtistUrl == artistUrl); 121 | 122 | if (artistsInDb == null) 123 | { 124 | artistsInDb = new Artist(); 125 | artistsInDb.Name = artistName; 126 | artistsInDb.ArtistUrl = artistUrl; 127 | artistsInDb.DateAdded = DateTime.Now; 128 | artistsInDb.PathOnDisk = CreateArtistPath(artistsInDb); 129 | dbContext.Artists.Add(artistsInDb); 130 | dbContext.SaveChanges(); 131 | 132 | } 133 | return artistsInDb; 134 | } 135 | 136 | public void MarkMediaExistsInDb(Media media) 137 | { 138 | media.Exists = true; 139 | dbContext.SaveChanges(); 140 | } 141 | 142 | public void MarkPostProcessedInDb(Post post) 143 | { 144 | post.Processed = true; 145 | dbContext.SaveChanges(); 146 | } 147 | } 148 | } 149 | -------------------------------------------------------------------------------- /KemonoDownloader/Logic/ProgramFunctions.cs: -------------------------------------------------------------------------------- 1 | using static KemonoDownloader.Program; 2 | 3 | namespace KemonoDownloader.Logic 4 | { 5 | public static class ProgramFunctions 6 | { 7 | public static List ReadArtistUrlsFromFile() 8 | { 9 | try 10 | { 11 | return File.ReadAllText("artistUrls.txt").Split(" ", StringSplitOptions.TrimEntries).ToList(); 12 | } 13 | catch (FileNotFoundException e) 14 | { 15 | logger.Error("The file with artist URLs does not exists. You need to make sure it does before you use this option.", e.Message); 16 | Environment.Exit(0); 17 | return null; 18 | } 19 | } 20 | 21 | public static string ReadUserInput (string message, List acceptableInputs) 22 | { 23 | do 24 | { 25 | Console.WriteLine(message); 26 | string input = Console.ReadLine().ToUpper(); 27 | if (acceptableInputs.Contains(input)) 28 | return input; 29 | } while (true); 30 | } 31 | 32 | public static void SaveArtistUrlsToFile(string artistUrls) 33 | { 34 | using (StreamWriter sw = new StreamWriter("artistUrls.txt")) 35 | { 36 | sw.Write(artistUrls); 37 | } 38 | } 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /KemonoDownloader/NLog.config: -------------------------------------------------------------------------------- 1 | 2 | 8 | 22 | 23 | -------------------------------------------------------------------------------- /KemonoDownloader/Program.cs: -------------------------------------------------------------------------------- 1 | using HtmlAgilityPack; 2 | using System.Drawing; 3 | using System.Net; 4 | using System.Text.RegularExpressions; 5 | using NLog; 6 | using static KemonoDownloader.Logic.ProgramFunctions; 7 | using KemonoDownloaderDataModels.Models; 8 | using Microsoft.EntityFrameworkCore; 9 | using System.Xml.Linq; 10 | using Microsoft.Extensions.Logging; 11 | using NLog.Fluent; 12 | using System.Data.SqlTypes; 13 | using KemonoDownloader.Logic; 14 | 15 | namespace KemonoDownloader 16 | { 17 | internal class Program 18 | { 19 | public static readonly Logger logger = LogManager.GetCurrentClassLogger(); 20 | const string kemonoBaseUrl = "https://kemono.party/"; 21 | 22 | static void Main(string[] args) 23 | { 24 | try 25 | { 26 | List artistUrls = null; 27 | string menu; 28 | string choice; 29 | 30 | // Where to get the artists links from 31 | Console.WriteLine("Would you like to download the artists to which the links are in the file \n\"artistUrls.txt\" or would you like to input the artist urls?"); 32 | menu = ReadUserInput("Input \"1\" to read from the file, or \"2\" to input the urls.", new List() { "1", "2" }); 33 | 34 | // Read from file 35 | if (menu == "1") 36 | { 37 | artistUrls = ReadArtistUrlsFromFile(); 38 | } 39 | // Read console input 40 | if (menu == "2") 41 | { 42 | Console.WriteLine("Input (paste or manually type in) the artist URLs. They must be seperated by a space. " + 43 | "\n The program will not work properly if you don't correctly input the artist links." + 44 | "\n Already existing files will not be downloaded anew."); 45 | var artistUrlsRaw = Console.ReadLine(); 46 | SaveArtistUrlsToFile(artistUrlsRaw); 47 | artistUrls = artistUrlsRaw.Split(" ", StringSplitOptions.TrimEntries).ToList(); 48 | } 49 | 50 | // How to save downloaded posts 51 | Console.WriteLine("Do you want all of the media from a single post to also be put into post-based folder? \n"); 52 | choice = ReadUserInput("Input \"N\" for: artistname\\artworks file hierarcy. Input \"Y\" for: artistname\\post\\artworks file hierarcy.", new List() { "Y", "N" }); 53 | 54 | DownloadingArt da = new DownloadingArt(); 55 | da.DownloadArt(artistUrls); 56 | 57 | } 58 | catch (Exception e) 59 | { 60 | logger.Error($"Unhandled exception HAPPENEDZ. Read the info: {e.Message}" + 61 | $"\n {e.StackTrace}" + 62 | $"\n {e.InnerException}" + 63 | $"\n {e.GetBaseException}" + 64 | $"\n {e.Source}"); 65 | } 66 | } 67 | 68 | //static string GetPostName(HtmlDocument doc) 69 | //{ 70 | // return ValidatePathName(doc.DocumentNode.SelectSingleNode("//h1[contains(@class, 'post__title')]").ChildNodes.ElementAt(1).InnerText); 71 | //} 72 | //static string ValidatePathName(string input, string replacement = "") 73 | //{ 74 | // var regexSearch = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars()); 75 | // var r = new Regex(string.Format("[{0}]", Regex.Escape(regexSearch))); 76 | // var fileName = r.Replace(input, replacement); 77 | // if (fileName.Length > 120) 78 | // { 79 | // fileName = fileName.Substring(0, 119); 80 | // } 81 | // return fileName; 82 | //} 83 | } 84 | } -------------------------------------------------------------------------------- /KemonoDownloader/README.md: -------------------------------------------------------------------------------- 1 | Currently the program is very primitive. 2 | You simply paste-in the link to the artist whose art you want to download. 3 | If there is more than a single site available for a particular 4 | artist, e.g. both Pixiv Fanbox and Fantia, you need to do the process 5 | for the both of those. 6 | Input just the zero-page link (without the "?o=" at the end). 7 | 8 | If the folder inside of which you've placed 9 | the .exe hasn't got enough storage space, you input giberlish, etc. the program will just stop 10 | 11 | BTC: 12 | bc1qegxawcgkw60w78qdc7ah2wyr87shn732ycjnpd 13 | 14 | ETH: 15 | 0x25D9AF6620AEb2F0f327e0d0b9a86DB9D9397c6d 16 | -------------------------------------------------------------------------------- /KemonoDownloader/kemonoDownloader.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/KemonoDownloader/kemonoDownloader.db -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/Context/KemonoDbContext.cs: -------------------------------------------------------------------------------- 1 | using KemonoDownloaderDataModels.Models; 2 | using Microsoft.EntityFrameworkCore; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Diagnostics; 6 | using System.Linq; 7 | using System.Reflection.Metadata; 8 | using System.Runtime.ConstrainedExecution; 9 | using System.Text; 10 | using System.Threading.Tasks; 11 | 12 | public class KemonoDbContext : DbContext 13 | { 14 | public DbSet Artists { get; set; } 15 | public DbSet Media { get; set; } 16 | public DbSet Posts { get; set; } 17 | public string DbPath { get; } = Environment.CurrentDirectory; 18 | public KemonoDbContext() 19 | { 20 | //var folder = Environment.SpecialFolder.LocalApplicationData; 21 | //var path = Environment.GetFolderPath(folder); 22 | DbPath = System.IO.Path.Join(DbPath, "kemonoDownloader.db"); 23 | this.Database.EnsureCreated(); 24 | } 25 | 26 | // The following configures EF to create a Sqlite database file in the 27 | // special "local" folder for your platform. 28 | protected override void OnConfiguring(DbContextOptionsBuilder options) 29 | => options.UseSqlite($"Data Source={DbPath}"); 30 | 31 | protected override void OnModelCreating(ModelBuilder modelBuilder) 32 | { 33 | modelBuilder.Entity() 34 | .HasAlternateKey(p => p.KemonoId); 35 | modelBuilder.Entity() 36 | .HasAlternateKey(a => a.ArtistUrl); 37 | modelBuilder.Entity() 38 | .HasAlternateKey(a => a.Href); 39 | } 40 | } -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/KemonoDownloaderDataModels.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | enable 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | all 13 | runtime; build; native; contentfiles; analyzers; buildtransitive 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/Models/Artist.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace KemonoDownloaderDataModels.Models 4 | { 5 | public class Artist 6 | { 7 | [Key] 8 | public int Id { get; set; } 9 | [Required] 10 | public string Name { get; set; } 11 | public string ArtistUrl { get; set; } 12 | public string PathOnDisk { get; set; } 13 | public DateTime DateAdded { get; set; } 14 | public virtual List ArtistPosts { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/Models/Media.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace KemonoDownloaderDataModels.Models 9 | { 10 | public class Media 11 | { 12 | [Key] 13 | public int Id { get; set; } 14 | public string FileName { get; set; } 15 | 16 | /// 17 | /// Where the media file is located, e.g. 18 | /// c:/KemonoDownloader/artist/post/mediaFile.jpg 19 | /// (the above is not the correct path format) 20 | /// 29 | /// Parent post, the post inside of which this media was found 30 | /// 31 | public Post Post { get; set; } 32 | public DateTime DateAdded { get; set; } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/Models/Post.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.ComponentModel.DataAnnotations.Schema; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace KemonoDownloaderDataModels.Models 10 | { 11 | public class Post 12 | { 13 | [Key] 14 | public int Id { get; set; } 15 | /// 16 | /// This is an alternate key; For each Post the KemonoId is unique 17 | /// 18 | public int KemonoId { get; set; } 19 | public string? HtmlContent { get; set; } 20 | [Required] 21 | public Artist Artist { get; set; } 22 | public virtual List PostMedia { get; set; } 23 | public bool Processed { get; set; } = false; 24 | /// 25 | /// This has to be a method and not a property 26 | /// so as not to cause an entity framework error 27 | /// 28 | /// 29 | public string Url() 30 | { 31 | return Artist.ArtistUrl + "/post/" + KemonoId; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/bin/Debug/KemonoDownloaderDataModels.1.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/KemonoDownloaderDataModels/bin/Debug/KemonoDownloaderDataModels.1.0.0.nupkg -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/bin/Debug/net6.0/KemonoDownloaderDataModels.deps.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeTarget": { 3 | "name": ".NETCoreApp,Version=v6.0", 4 | "signature": "" 5 | }, 6 | "compilationOptions": {}, 7 | "targets": { 8 | ".NETCoreApp,Version=v6.0": { 9 | "KemonoDownloaderDataModels/1.0.0": { 10 | "dependencies": { 11 | "Microsoft.EntityFrameworkCore.Sqlite": "6.0.10", 12 | "Microsoft.EntityFrameworkCore.Tools": "6.0.10" 13 | }, 14 | "runtime": { 15 | "KemonoDownloaderDataModels.dll": {} 16 | } 17 | }, 18 | "Humanizer.Core/2.8.26": { 19 | "runtime": { 20 | "lib/netstandard2.0/Humanizer.dll": { 21 | "assemblyVersion": "2.8.0.0", 22 | "fileVersion": "2.8.26.1919" 23 | } 24 | } 25 | }, 26 | "Microsoft.Data.Sqlite.Core/6.0.10": { 27 | "dependencies": { 28 | "SQLitePCLRaw.core": "2.0.6" 29 | }, 30 | "runtime": { 31 | "lib/net6.0/Microsoft.Data.Sqlite.dll": { 32 | "assemblyVersion": "6.0.10.0", 33 | "fileVersion": "6.0.1022.47607" 34 | } 35 | } 36 | }, 37 | "Microsoft.EntityFrameworkCore/6.0.10": { 38 | "dependencies": { 39 | "Microsoft.EntityFrameworkCore.Abstractions": "6.0.10", 40 | "Microsoft.EntityFrameworkCore.Analyzers": "6.0.10", 41 | "Microsoft.Extensions.Caching.Memory": "6.0.1", 42 | "Microsoft.Extensions.DependencyInjection": "6.0.1", 43 | "Microsoft.Extensions.Logging": "6.0.0", 44 | "System.Collections.Immutable": "6.0.0", 45 | "System.Diagnostics.DiagnosticSource": "6.0.0" 46 | }, 47 | "runtime": { 48 | "lib/net6.0/Microsoft.EntityFrameworkCore.dll": { 49 | "assemblyVersion": "6.0.10.0", 50 | "fileVersion": "6.0.1022.47607" 51 | } 52 | } 53 | }, 54 | "Microsoft.EntityFrameworkCore.Abstractions/6.0.10": { 55 | "runtime": { 56 | "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { 57 | "assemblyVersion": "6.0.10.0", 58 | "fileVersion": "6.0.1022.47607" 59 | } 60 | } 61 | }, 62 | "Microsoft.EntityFrameworkCore.Analyzers/6.0.10": {}, 63 | "Microsoft.EntityFrameworkCore.Design/6.0.10": { 64 | "dependencies": { 65 | "Humanizer.Core": "2.8.26", 66 | "Microsoft.EntityFrameworkCore.Relational": "6.0.10" 67 | }, 68 | "runtime": { 69 | "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll": { 70 | "assemblyVersion": "6.0.10.0", 71 | "fileVersion": "6.0.1022.47607" 72 | } 73 | } 74 | }, 75 | "Microsoft.EntityFrameworkCore.Relational/6.0.10": { 76 | "dependencies": { 77 | "Microsoft.EntityFrameworkCore": "6.0.10", 78 | "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" 79 | }, 80 | "runtime": { 81 | "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": { 82 | "assemblyVersion": "6.0.10.0", 83 | "fileVersion": "6.0.1022.47607" 84 | } 85 | } 86 | }, 87 | "Microsoft.EntityFrameworkCore.Sqlite/6.0.10": { 88 | "dependencies": { 89 | "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.10", 90 | "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" 91 | } 92 | }, 93 | "Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.10": { 94 | "dependencies": { 95 | "Microsoft.Data.Sqlite.Core": "6.0.10", 96 | "Microsoft.EntityFrameworkCore.Relational": "6.0.10", 97 | "Microsoft.Extensions.DependencyModel": "6.0.0" 98 | }, 99 | "runtime": { 100 | "lib/net6.0/Microsoft.EntityFrameworkCore.Sqlite.dll": { 101 | "assemblyVersion": "6.0.10.0", 102 | "fileVersion": "6.0.1022.47607" 103 | } 104 | } 105 | }, 106 | "Microsoft.EntityFrameworkCore.Tools/6.0.10": { 107 | "dependencies": { 108 | "Microsoft.EntityFrameworkCore.Design": "6.0.10" 109 | } 110 | }, 111 | "Microsoft.Extensions.Caching.Abstractions/6.0.0": { 112 | "dependencies": { 113 | "Microsoft.Extensions.Primitives": "6.0.0" 114 | }, 115 | "runtime": { 116 | "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { 117 | "assemblyVersion": "6.0.0.0", 118 | "fileVersion": "6.0.21.52210" 119 | } 120 | } 121 | }, 122 | "Microsoft.Extensions.Caching.Memory/6.0.1": { 123 | "dependencies": { 124 | "Microsoft.Extensions.Caching.Abstractions": "6.0.0", 125 | "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", 126 | "Microsoft.Extensions.Logging.Abstractions": "6.0.0", 127 | "Microsoft.Extensions.Options": "6.0.0", 128 | "Microsoft.Extensions.Primitives": "6.0.0" 129 | }, 130 | "runtime": { 131 | "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { 132 | "assemblyVersion": "6.0.0.0", 133 | "fileVersion": "6.0.222.6406" 134 | } 135 | } 136 | }, 137 | "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { 138 | "dependencies": { 139 | "Microsoft.Extensions.Primitives": "6.0.0" 140 | }, 141 | "runtime": { 142 | "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": { 143 | "assemblyVersion": "6.0.0.0", 144 | "fileVersion": "6.0.21.52210" 145 | } 146 | } 147 | }, 148 | "Microsoft.Extensions.DependencyInjection/6.0.1": { 149 | "dependencies": { 150 | "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", 151 | "System.Runtime.CompilerServices.Unsafe": "6.0.0" 152 | }, 153 | "runtime": { 154 | "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": { 155 | "assemblyVersion": "6.0.0.0", 156 | "fileVersion": "6.0.1022.47605" 157 | } 158 | } 159 | }, 160 | "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { 161 | "runtime": { 162 | "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { 163 | "assemblyVersion": "6.0.0.0", 164 | "fileVersion": "6.0.21.52210" 165 | } 166 | } 167 | }, 168 | "Microsoft.Extensions.DependencyModel/6.0.0": { 169 | "dependencies": { 170 | "System.Buffers": "4.5.1", 171 | "System.Memory": "4.5.4", 172 | "System.Runtime.CompilerServices.Unsafe": "6.0.0", 173 | "System.Text.Encodings.Web": "6.0.0", 174 | "System.Text.Json": "6.0.0" 175 | }, 176 | "runtime": { 177 | "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": { 178 | "assemblyVersion": "6.0.0.0", 179 | "fileVersion": "6.0.21.52210" 180 | } 181 | } 182 | }, 183 | "Microsoft.Extensions.Logging/6.0.0": { 184 | "dependencies": { 185 | "Microsoft.Extensions.DependencyInjection": "6.0.1", 186 | "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", 187 | "Microsoft.Extensions.Logging.Abstractions": "6.0.0", 188 | "Microsoft.Extensions.Options": "6.0.0", 189 | "System.Diagnostics.DiagnosticSource": "6.0.0" 190 | }, 191 | "runtime": { 192 | "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": { 193 | "assemblyVersion": "6.0.0.0", 194 | "fileVersion": "6.0.21.52210" 195 | } 196 | } 197 | }, 198 | "Microsoft.Extensions.Logging.Abstractions/6.0.0": { 199 | "runtime": { 200 | "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { 201 | "assemblyVersion": "6.0.0.0", 202 | "fileVersion": "6.0.21.52210" 203 | } 204 | } 205 | }, 206 | "Microsoft.Extensions.Options/6.0.0": { 207 | "dependencies": { 208 | "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", 209 | "Microsoft.Extensions.Primitives": "6.0.0" 210 | }, 211 | "runtime": { 212 | "lib/netstandard2.1/Microsoft.Extensions.Options.dll": { 213 | "assemblyVersion": "6.0.0.0", 214 | "fileVersion": "6.0.21.52210" 215 | } 216 | } 217 | }, 218 | "Microsoft.Extensions.Primitives/6.0.0": { 219 | "dependencies": { 220 | "System.Runtime.CompilerServices.Unsafe": "6.0.0" 221 | }, 222 | "runtime": { 223 | "lib/net6.0/Microsoft.Extensions.Primitives.dll": { 224 | "assemblyVersion": "6.0.0.0", 225 | "fileVersion": "6.0.21.52210" 226 | } 227 | } 228 | }, 229 | "SQLitePCLRaw.bundle_e_sqlite3/2.0.6": { 230 | "dependencies": { 231 | "SQLitePCLRaw.core": "2.0.6", 232 | "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", 233 | "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" 234 | }, 235 | "runtime": { 236 | "lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": { 237 | "assemblyVersion": "2.0.6.1341", 238 | "fileVersion": "2.0.6.1341" 239 | } 240 | } 241 | }, 242 | "SQLitePCLRaw.core/2.0.6": { 243 | "dependencies": { 244 | "System.Memory": "4.5.4" 245 | }, 246 | "runtime": { 247 | "lib/netstandard2.0/SQLitePCLRaw.core.dll": { 248 | "assemblyVersion": "2.0.6.1341", 249 | "fileVersion": "2.0.6.1341" 250 | } 251 | } 252 | }, 253 | "SQLitePCLRaw.lib.e_sqlite3/2.0.6": { 254 | "runtimeTargets": { 255 | "runtimes/alpine-x64/native/libe_sqlite3.so": { 256 | "rid": "alpine-x64", 257 | "assetType": "native", 258 | "fileVersion": "0.0.0.0" 259 | }, 260 | "runtimes/linux-arm/native/libe_sqlite3.so": { 261 | "rid": "linux-arm", 262 | "assetType": "native", 263 | "fileVersion": "0.0.0.0" 264 | }, 265 | "runtimes/linux-arm64/native/libe_sqlite3.so": { 266 | "rid": "linux-arm64", 267 | "assetType": "native", 268 | "fileVersion": "0.0.0.0" 269 | }, 270 | "runtimes/linux-armel/native/libe_sqlite3.so": { 271 | "rid": "linux-armel", 272 | "assetType": "native", 273 | "fileVersion": "0.0.0.0" 274 | }, 275 | "runtimes/linux-mips64/native/libe_sqlite3.so": { 276 | "rid": "linux-mips64", 277 | "assetType": "native", 278 | "fileVersion": "0.0.0.0" 279 | }, 280 | "runtimes/linux-musl-x64/native/libe_sqlite3.so": { 281 | "rid": "linux-musl-x64", 282 | "assetType": "native", 283 | "fileVersion": "0.0.0.0" 284 | }, 285 | "runtimes/linux-s390x/native/libe_sqlite3.so": { 286 | "rid": "linux-s390x", 287 | "assetType": "native", 288 | "fileVersion": "0.0.0.0" 289 | }, 290 | "runtimes/linux-x64/native/libe_sqlite3.so": { 291 | "rid": "linux-x64", 292 | "assetType": "native", 293 | "fileVersion": "0.0.0.0" 294 | }, 295 | "runtimes/linux-x86/native/libe_sqlite3.so": { 296 | "rid": "linux-x86", 297 | "assetType": "native", 298 | "fileVersion": "0.0.0.0" 299 | }, 300 | "runtimes/osx-arm64/native/libe_sqlite3.dylib": { 301 | "rid": "osx-arm64", 302 | "assetType": "native", 303 | "fileVersion": "0.0.0.0" 304 | }, 305 | "runtimes/osx-x64/native/libe_sqlite3.dylib": { 306 | "rid": "osx-x64", 307 | "assetType": "native", 308 | "fileVersion": "0.0.0.0" 309 | }, 310 | "runtimes/win-arm/native/e_sqlite3.dll": { 311 | "rid": "win-arm", 312 | "assetType": "native", 313 | "fileVersion": "0.0.0.0" 314 | }, 315 | "runtimes/win-arm64/native/e_sqlite3.dll": { 316 | "rid": "win-arm64", 317 | "assetType": "native", 318 | "fileVersion": "0.0.0.0" 319 | }, 320 | "runtimes/win-x64/native/e_sqlite3.dll": { 321 | "rid": "win-x64", 322 | "assetType": "native", 323 | "fileVersion": "0.0.0.0" 324 | }, 325 | "runtimes/win-x86/native/e_sqlite3.dll": { 326 | "rid": "win-x86", 327 | "assetType": "native", 328 | "fileVersion": "0.0.0.0" 329 | } 330 | } 331 | }, 332 | "SQLitePCLRaw.provider.e_sqlite3/2.0.6": { 333 | "dependencies": { 334 | "SQLitePCLRaw.core": "2.0.6" 335 | }, 336 | "runtime": { 337 | "lib/net5.0/SQLitePCLRaw.provider.e_sqlite3.dll": { 338 | "assemblyVersion": "2.0.6.1341", 339 | "fileVersion": "2.0.6.1341" 340 | } 341 | } 342 | }, 343 | "System.Buffers/4.5.1": {}, 344 | "System.Collections.Immutable/6.0.0": { 345 | "dependencies": { 346 | "System.Runtime.CompilerServices.Unsafe": "6.0.0" 347 | } 348 | }, 349 | "System.Diagnostics.DiagnosticSource/6.0.0": { 350 | "dependencies": { 351 | "System.Runtime.CompilerServices.Unsafe": "6.0.0" 352 | } 353 | }, 354 | "System.Memory/4.5.4": {}, 355 | "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, 356 | "System.Text.Encodings.Web/6.0.0": { 357 | "dependencies": { 358 | "System.Runtime.CompilerServices.Unsafe": "6.0.0" 359 | } 360 | }, 361 | "System.Text.Json/6.0.0": { 362 | "dependencies": { 363 | "System.Runtime.CompilerServices.Unsafe": "6.0.0", 364 | "System.Text.Encodings.Web": "6.0.0" 365 | } 366 | } 367 | } 368 | }, 369 | "libraries": { 370 | "KemonoDownloaderDataModels/1.0.0": { 371 | "type": "project", 372 | "serviceable": false, 373 | "sha512": "" 374 | }, 375 | "Humanizer.Core/2.8.26": { 376 | "type": "package", 377 | "serviceable": true, 378 | "sha512": "sha512-OiKusGL20vby4uDEswj2IgkdchC1yQ6rwbIkZDVBPIR6al2b7n3pC91elBul9q33KaBgRKhbZH3+2Ur4fnWx2A==", 379 | "path": "humanizer.core/2.8.26", 380 | "hashPath": "humanizer.core.2.8.26.nupkg.sha512" 381 | }, 382 | "Microsoft.Data.Sqlite.Core/6.0.10": { 383 | "type": "package", 384 | "serviceable": true, 385 | "sha512": "sha512-TWUjLTzSeENkEChqWrcaAzIrD9i5M2l2qrWDI00lC38xBPUuK1Qf57ZywO+dwmr2S3yS0VUPvpdpqCrq60QaRw==", 386 | "path": "microsoft.data.sqlite.core/6.0.10", 387 | "hashPath": "microsoft.data.sqlite.core.6.0.10.nupkg.sha512" 388 | }, 389 | "Microsoft.EntityFrameworkCore/6.0.10": { 390 | "type": "package", 391 | "serviceable": true, 392 | "sha512": "sha512-aMk8c7XKynkDJM8vnRuVz3VHSLiWy4tWpkvSdrQ4No1DNLdtTI6P3iT2wAPvVkuJsS22Ifs62/Jr6AyveX5b4A==", 393 | "path": "microsoft.entityframeworkcore/6.0.10", 394 | "hashPath": "microsoft.entityframeworkcore.6.0.10.nupkg.sha512" 395 | }, 396 | "Microsoft.EntityFrameworkCore.Abstractions/6.0.10": { 397 | "type": "package", 398 | "serviceable": true, 399 | "sha512": "sha512-3BMwnBB6Bgwd6bjUqx2pOYuHpGBHCJxY3vorRJYX3U2wzrz5q4jNxDZZGsMViFZeJ7PXFIwbgy6rR73J5aalsg==", 400 | "path": "microsoft.entityframeworkcore.abstractions/6.0.10", 401 | "hashPath": "microsoft.entityframeworkcore.abstractions.6.0.10.nupkg.sha512" 402 | }, 403 | "Microsoft.EntityFrameworkCore.Analyzers/6.0.10": { 404 | "type": "package", 405 | "serviceable": true, 406 | "sha512": "sha512-b4jKcjo6BLuBRjLTkZPjJCvZ7oa3a798Q1AXSMAknitpBEOEIDryyRd7XZ0cnEIVCvfSND+Trgb00Z4TiTqOvg==", 407 | "path": "microsoft.entityframeworkcore.analyzers/6.0.10", 408 | "hashPath": "microsoft.entityframeworkcore.analyzers.6.0.10.nupkg.sha512" 409 | }, 410 | "Microsoft.EntityFrameworkCore.Design/6.0.10": { 411 | "type": "package", 412 | "serviceable": true, 413 | "sha512": "sha512-SVqDfUftgBoKCMPfTaWXiKBZPHMjbiBJLE5WE7MeD28nTk7CkmUNX8eXyNIeWxpDuk4r0zZ6XG9zyG7Ef3KS4A==", 414 | "path": "microsoft.entityframeworkcore.design/6.0.10", 415 | "hashPath": "microsoft.entityframeworkcore.design.6.0.10.nupkg.sha512" 416 | }, 417 | "Microsoft.EntityFrameworkCore.Relational/6.0.10": { 418 | "type": "package", 419 | "serviceable": true, 420 | "sha512": "sha512-8rjVzKtGSTojSefghXqh3Y2wq8A7P7iWuUQQyQieXNYrYA7nw2aHZI2rjU+7ta4jHgKITddUHFaPQJ69H18dQA==", 421 | "path": "microsoft.entityframeworkcore.relational/6.0.10", 422 | "hashPath": "microsoft.entityframeworkcore.relational.6.0.10.nupkg.sha512" 423 | }, 424 | "Microsoft.EntityFrameworkCore.Sqlite/6.0.10": { 425 | "type": "package", 426 | "serviceable": true, 427 | "sha512": "sha512-JWoqE8TMKg+SwMmig3UPsC1Fg00JQ3dyPpr64VuYlnaags+1eJ5gAYJ38CHdxSGIQQouUv7fK3rfuoKfFc5kiA==", 428 | "path": "microsoft.entityframeworkcore.sqlite/6.0.10", 429 | "hashPath": "microsoft.entityframeworkcore.sqlite.6.0.10.nupkg.sha512" 430 | }, 431 | "Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.10": { 432 | "type": "package", 433 | "serviceable": true, 434 | "sha512": "sha512-5aynyix0/bvGlmlX3ude/ctTJ0t/styV3Cmd9BR9ujb0vlU8WuFxJqriVhuRnCLS9I7+vBgSh7FWdxWz8cHi3A==", 435 | "path": "microsoft.entityframeworkcore.sqlite.core/6.0.10", 436 | "hashPath": "microsoft.entityframeworkcore.sqlite.core.6.0.10.nupkg.sha512" 437 | }, 438 | "Microsoft.EntityFrameworkCore.Tools/6.0.10": { 439 | "type": "package", 440 | "serviceable": true, 441 | "sha512": "sha512-LWQvCb3lmTxkcnzO8H0ib0Ot/Pow9Kubt2iqvhhAHEbhs7SS1ygB938EpmuD9o1yyyliAg6FHln5o6jVfEkdyQ==", 442 | "path": "microsoft.entityframeworkcore.tools/6.0.10", 443 | "hashPath": "microsoft.entityframeworkcore.tools.6.0.10.nupkg.sha512" 444 | }, 445 | "Microsoft.Extensions.Caching.Abstractions/6.0.0": { 446 | "type": "package", 447 | "serviceable": true, 448 | "sha512": "sha512-bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", 449 | "path": "microsoft.extensions.caching.abstractions/6.0.0", 450 | "hashPath": "microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512" 451 | }, 452 | "Microsoft.Extensions.Caching.Memory/6.0.1": { 453 | "type": "package", 454 | "serviceable": true, 455 | "sha512": "sha512-B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", 456 | "path": "microsoft.extensions.caching.memory/6.0.1", 457 | "hashPath": "microsoft.extensions.caching.memory.6.0.1.nupkg.sha512" 458 | }, 459 | "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { 460 | "type": "package", 461 | "serviceable": true, 462 | "sha512": "sha512-qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", 463 | "path": "microsoft.extensions.configuration.abstractions/6.0.0", 464 | "hashPath": "microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512" 465 | }, 466 | "Microsoft.Extensions.DependencyInjection/6.0.1": { 467 | "type": "package", 468 | "serviceable": true, 469 | "sha512": "sha512-vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", 470 | "path": "microsoft.extensions.dependencyinjection/6.0.1", 471 | "hashPath": "microsoft.extensions.dependencyinjection.6.0.1.nupkg.sha512" 472 | }, 473 | "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { 474 | "type": "package", 475 | "serviceable": true, 476 | "sha512": "sha512-xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==", 477 | "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0", 478 | "hashPath": "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512" 479 | }, 480 | "Microsoft.Extensions.DependencyModel/6.0.0": { 481 | "type": "package", 482 | "serviceable": true, 483 | "sha512": "sha512-TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", 484 | "path": "microsoft.extensions.dependencymodel/6.0.0", 485 | "hashPath": "microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512" 486 | }, 487 | "Microsoft.Extensions.Logging/6.0.0": { 488 | "type": "package", 489 | "serviceable": true, 490 | "sha512": "sha512-eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", 491 | "path": "microsoft.extensions.logging/6.0.0", 492 | "hashPath": "microsoft.extensions.logging.6.0.0.nupkg.sha512" 493 | }, 494 | "Microsoft.Extensions.Logging.Abstractions/6.0.0": { 495 | "type": "package", 496 | "serviceable": true, 497 | "sha512": "sha512-/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", 498 | "path": "microsoft.extensions.logging.abstractions/6.0.0", 499 | "hashPath": "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512" 500 | }, 501 | "Microsoft.Extensions.Options/6.0.0": { 502 | "type": "package", 503 | "serviceable": true, 504 | "sha512": "sha512-dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", 505 | "path": "microsoft.extensions.options/6.0.0", 506 | "hashPath": "microsoft.extensions.options.6.0.0.nupkg.sha512" 507 | }, 508 | "Microsoft.Extensions.Primitives/6.0.0": { 509 | "type": "package", 510 | "serviceable": true, 511 | "sha512": "sha512-9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", 512 | "path": "microsoft.extensions.primitives/6.0.0", 513 | "hashPath": "microsoft.extensions.primitives.6.0.0.nupkg.sha512" 514 | }, 515 | "SQLitePCLRaw.bundle_e_sqlite3/2.0.6": { 516 | "type": "package", 517 | "serviceable": true, 518 | "sha512": "sha512-zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", 519 | "path": "sqlitepclraw.bundle_e_sqlite3/2.0.6", 520 | "hashPath": "sqlitepclraw.bundle_e_sqlite3.2.0.6.nupkg.sha512" 521 | }, 522 | "SQLitePCLRaw.core/2.0.6": { 523 | "type": "package", 524 | "serviceable": true, 525 | "sha512": "sha512-Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", 526 | "path": "sqlitepclraw.core/2.0.6", 527 | "hashPath": "sqlitepclraw.core.2.0.6.nupkg.sha512" 528 | }, 529 | "SQLitePCLRaw.lib.e_sqlite3/2.0.6": { 530 | "type": "package", 531 | "serviceable": true, 532 | "sha512": "sha512-xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==", 533 | "path": "sqlitepclraw.lib.e_sqlite3/2.0.6", 534 | "hashPath": "sqlitepclraw.lib.e_sqlite3.2.0.6.nupkg.sha512" 535 | }, 536 | "SQLitePCLRaw.provider.e_sqlite3/2.0.6": { 537 | "type": "package", 538 | "serviceable": true, 539 | "sha512": "sha512-peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", 540 | "path": "sqlitepclraw.provider.e_sqlite3/2.0.6", 541 | "hashPath": "sqlitepclraw.provider.e_sqlite3.2.0.6.nupkg.sha512" 542 | }, 543 | "System.Buffers/4.5.1": { 544 | "type": "package", 545 | "serviceable": true, 546 | "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", 547 | "path": "system.buffers/4.5.1", 548 | "hashPath": "system.buffers.4.5.1.nupkg.sha512" 549 | }, 550 | "System.Collections.Immutable/6.0.0": { 551 | "type": "package", 552 | "serviceable": true, 553 | "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", 554 | "path": "system.collections.immutable/6.0.0", 555 | "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512" 556 | }, 557 | "System.Diagnostics.DiagnosticSource/6.0.0": { 558 | "type": "package", 559 | "serviceable": true, 560 | "sha512": "sha512-frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", 561 | "path": "system.diagnostics.diagnosticsource/6.0.0", 562 | "hashPath": "system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512" 563 | }, 564 | "System.Memory/4.5.4": { 565 | "type": "package", 566 | "serviceable": true, 567 | "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", 568 | "path": "system.memory/4.5.4", 569 | "hashPath": "system.memory.4.5.4.nupkg.sha512" 570 | }, 571 | "System.Runtime.CompilerServices.Unsafe/6.0.0": { 572 | "type": "package", 573 | "serviceable": true, 574 | "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", 575 | "path": "system.runtime.compilerservices.unsafe/6.0.0", 576 | "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" 577 | }, 578 | "System.Text.Encodings.Web/6.0.0": { 579 | "type": "package", 580 | "serviceable": true, 581 | "sha512": "sha512-Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", 582 | "path": "system.text.encodings.web/6.0.0", 583 | "hashPath": "system.text.encodings.web.6.0.0.nupkg.sha512" 584 | }, 585 | "System.Text.Json/6.0.0": { 586 | "type": "package", 587 | "serviceable": true, 588 | "sha512": "sha512-zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", 589 | "path": "system.text.json/6.0.0", 590 | "hashPath": "system.text.json.6.0.0.nupkg.sha512" 591 | } 592 | } 593 | } -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/bin/Debug/net6.0/KemonoDownloaderDataModels.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/KemonoDownloaderDataModels/bin/Debug/net6.0/KemonoDownloaderDataModels.dll -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/bin/Debug/net6.0/KemonoDownloaderDataModels.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/KemonoDownloaderDataModels/bin/Debug/net6.0/KemonoDownloaderDataModels.pdb -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/bin/Debug/net6.0/KemonoDownloaderDataModels.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "net6.0", 4 | "framework": { 5 | "name": "Microsoft.NETCore.App", 6 | "version": "6.0.0" 7 | }, 8 | "configProperties": { 9 | "System.Reflection.NullabilityInfoContext.IsSupported": true 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/KemonoDownloaderDataModels.1.0.0.nuspec: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | KemonoDownloaderDataModels 5 | 1.0.0 6 | KemonoDownloaderDataModels 7 | Package Description 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")] 5 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("KemonoDownloaderDataModels")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("KemonoDownloaderDataModels")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("KemonoDownloaderDataModels")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | 22 | // Generated by the MSBuild WriteCodeFragment class. 23 | 24 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | c58af0b8b4d336ddc656677d7985a44872160d49 2 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.TargetFramework = net6.0 3 | build_property.TargetPlatformMinVersion = 4 | build_property.UsingMicrosoftNETSdkWeb = 5 | build_property.ProjectTypeGuids = 6 | build_property.InvariantGlobalization = 7 | build_property.PlatformNeutralAssembly = 8 | build_property._SupportedPlatformList = Linux,macOS,Windows 9 | build_property.RootNamespace = KemonoDownloaderDataModels 10 | build_property.ProjectDir = F:\KemonoDownloader\KemonoDownloaderDataModels\ 11 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.GlobalUsings.g.cs: -------------------------------------------------------------------------------- 1 | // 2 | global using global::System; 3 | global using global::System.Collections.Generic; 4 | global using global::System.IO; 5 | global using global::System.Linq; 6 | global using global::System.Net.Http; 7 | global using global::System.Threading; 8 | global using global::System.Threading.Tasks; 9 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.assets.cache -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.csproj.BuildWithSkipAnalyzers: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.csproj.BuildWithSkipAnalyzers -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 2887407a9dc632e5167d30abd7c54ea1ecbbe0ef 2 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | F:\KemonoDownloader\KemonoDownloaderDataModels\obj\Debug\net6.0\KemonoDownloaderDataModels.csproj.AssemblyReference.cache 2 | F:\KemonoDownloader\KemonoDownloaderDataModels\obj\Debug\net6.0\KemonoDownloaderDataModels.GeneratedMSBuildEditorConfig.editorconfig 3 | F:\KemonoDownloader\KemonoDownloaderDataModels\obj\Debug\net6.0\KemonoDownloaderDataModels.AssemblyInfoInputs.cache 4 | F:\KemonoDownloader\KemonoDownloaderDataModels\obj\Debug\net6.0\KemonoDownloaderDataModels.AssemblyInfo.cs 5 | F:\KemonoDownloader\KemonoDownloaderDataModels\obj\Debug\net6.0\KemonoDownloaderDataModels.csproj.CoreCompileInputs.cache 6 | F:\KemonoDownloader\KemonoDownloaderDataModels\bin\Debug\net6.0\KemonoDownloaderDataModels.deps.json 7 | F:\KemonoDownloader\KemonoDownloaderDataModels\bin\Debug\net6.0\KemonoDownloaderDataModels.runtimeconfig.json 8 | F:\KemonoDownloader\KemonoDownloaderDataModels\bin\Debug\net6.0\KemonoDownloaderDataModels.dll 9 | F:\KemonoDownloader\KemonoDownloaderDataModels\bin\Debug\net6.0\KemonoDownloaderDataModels.pdb 10 | F:\KemonoDownloader\KemonoDownloaderDataModels\obj\Debug\net6.0\KemonoDownloaderDataModels.dll 11 | F:\KemonoDownloader\KemonoDownloaderDataModels\obj\Debug\net6.0\refint\KemonoDownloaderDataModels.dll 12 | F:\KemonoDownloader\KemonoDownloaderDataModels\obj\Debug\net6.0\KemonoDownloaderDataModels.pdb 13 | F:\KemonoDownloader\KemonoDownloaderDataModels\obj\Debug\net6.0\KemonoDownloaderDataModels.genruntimeconfig.cache 14 | F:\KemonoDownloader\KemonoDownloaderDataModels\obj\Debug\net6.0\ref\KemonoDownloaderDataModels.dll 15 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.dll -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.genruntimeconfig.cache: -------------------------------------------------------------------------------- 1 | c32a7d2575e382c9658eb7b48b149c054d538133 2 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/KemonoDownloaderDataModels/obj/Debug/net6.0/KemonoDownloaderDataModels.pdb -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/ref/KemonoDownloaderDataModels.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/KemonoDownloaderDataModels/obj/Debug/net6.0/ref/KemonoDownloaderDataModels.dll -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/Debug/net6.0/refint/KemonoDownloaderDataModels.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AvocadoFlour/KemonoDownloader/21ddfe6f222960af64b9c9eb5a3437d952c1376d/KemonoDownloaderDataModels/obj/Debug/net6.0/refint/KemonoDownloaderDataModels.dll -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/KemonoDownloaderDataModels.csproj.nuget.dgspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "format": 1, 3 | "restore": { 4 | "F:\\KemonoDownloader\\KemonoDownloaderDataModels\\KemonoDownloaderDataModels.csproj": {} 5 | }, 6 | "projects": { 7 | "F:\\KemonoDownloader\\KemonoDownloaderDataModels\\KemonoDownloaderDataModels.csproj": { 8 | "version": "1.0.0", 9 | "restore": { 10 | "projectUniqueName": "F:\\KemonoDownloader\\KemonoDownloaderDataModels\\KemonoDownloaderDataModels.csproj", 11 | "projectName": "KemonoDownloaderDataModels", 12 | "projectPath": "F:\\KemonoDownloader\\KemonoDownloaderDataModels\\KemonoDownloaderDataModels.csproj", 13 | "packagesPath": "C:\\Users\\Gandeloft\\.nuget\\packages\\", 14 | "outputPath": "F:\\KemonoDownloader\\KemonoDownloaderDataModels\\obj\\", 15 | "projectStyle": "PackageReference", 16 | "configFilePaths": [ 17 | "C:\\Users\\Gandeloft\\AppData\\Roaming\\NuGet\\NuGet.Config", 18 | "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" 19 | ], 20 | "originalTargetFrameworks": [ 21 | "net6.0" 22 | ], 23 | "sources": { 24 | "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, 25 | "http://api.nuget.org/v3/index.json": {} 26 | }, 27 | "frameworks": { 28 | "net6.0": { 29 | "targetAlias": "net6.0", 30 | "projectReferences": {} 31 | } 32 | }, 33 | "warningProperties": { 34 | "warnAsError": [ 35 | "NU1605" 36 | ] 37 | } 38 | }, 39 | "frameworks": { 40 | "net6.0": { 41 | "targetAlias": "net6.0", 42 | "dependencies": { 43 | "Microsoft.EntityFrameworkCore.Sqlite": { 44 | "target": "Package", 45 | "version": "[6.0.10, )" 46 | }, 47 | "Microsoft.EntityFrameworkCore.Tools": { 48 | "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", 49 | "suppressParent": "All", 50 | "target": "Package", 51 | "version": "[6.0.10, )" 52 | } 53 | }, 54 | "imports": [ 55 | "net461", 56 | "net462", 57 | "net47", 58 | "net471", 59 | "net472", 60 | "net48", 61 | "net481" 62 | ], 63 | "assetTargetFallback": true, 64 | "warn": true, 65 | "frameworkReferences": { 66 | "Microsoft.NETCore.App": { 67 | "privateAssets": "all" 68 | } 69 | }, 70 | "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.400\\RuntimeIdentifierGraph.json" 71 | } 72 | } 73 | } 74 | } 75 | } -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/KemonoDownloaderDataModels.csproj.nuget.g.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | True 5 | NuGet 6 | $(MSBuildThisFileDirectory)project.assets.json 7 | $(UserProfile)\.nuget\packages\ 8 | C:\Users\Gandeloft\.nuget\packages\ 9 | PackageReference 10 | 6.3.0 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | C:\Users\Gandeloft\.nuget\packages\microsoft.entityframeworkcore.tools\6.0.10 21 | 22 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/KemonoDownloaderDataModels.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/project.assets.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "targets": { 4 | "net6.0": { 5 | "Humanizer.Core/2.8.26": { 6 | "type": "package", 7 | "compile": { 8 | "lib/netstandard2.0/_._": { 9 | "related": ".xml" 10 | } 11 | }, 12 | "runtime": { 13 | "lib/netstandard2.0/Humanizer.dll": { 14 | "related": ".xml" 15 | } 16 | } 17 | }, 18 | "Microsoft.Data.Sqlite.Core/6.0.10": { 19 | "type": "package", 20 | "dependencies": { 21 | "SQLitePCLRaw.core": "2.0.6" 22 | }, 23 | "compile": { 24 | "lib/net6.0/Microsoft.Data.Sqlite.dll": { 25 | "related": ".xml" 26 | } 27 | }, 28 | "runtime": { 29 | "lib/net6.0/Microsoft.Data.Sqlite.dll": { 30 | "related": ".xml" 31 | } 32 | } 33 | }, 34 | "Microsoft.EntityFrameworkCore/6.0.10": { 35 | "type": "package", 36 | "dependencies": { 37 | "Microsoft.EntityFrameworkCore.Abstractions": "6.0.10", 38 | "Microsoft.EntityFrameworkCore.Analyzers": "6.0.10", 39 | "Microsoft.Extensions.Caching.Memory": "6.0.1", 40 | "Microsoft.Extensions.DependencyInjection": "6.0.1", 41 | "Microsoft.Extensions.Logging": "6.0.0", 42 | "System.Collections.Immutable": "6.0.0", 43 | "System.Diagnostics.DiagnosticSource": "6.0.0" 44 | }, 45 | "compile": { 46 | "lib/net6.0/Microsoft.EntityFrameworkCore.dll": { 47 | "related": ".xml" 48 | } 49 | }, 50 | "runtime": { 51 | "lib/net6.0/Microsoft.EntityFrameworkCore.dll": { 52 | "related": ".xml" 53 | } 54 | }, 55 | "build": { 56 | "buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props": {} 57 | } 58 | }, 59 | "Microsoft.EntityFrameworkCore.Abstractions/6.0.10": { 60 | "type": "package", 61 | "compile": { 62 | "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { 63 | "related": ".xml" 64 | } 65 | }, 66 | "runtime": { 67 | "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { 68 | "related": ".xml" 69 | } 70 | } 71 | }, 72 | "Microsoft.EntityFrameworkCore.Analyzers/6.0.10": { 73 | "type": "package", 74 | "compile": { 75 | "lib/netstandard2.0/_._": {} 76 | }, 77 | "runtime": { 78 | "lib/netstandard2.0/_._": {} 79 | } 80 | }, 81 | "Microsoft.EntityFrameworkCore.Design/6.0.10": { 82 | "type": "package", 83 | "dependencies": { 84 | "Humanizer.Core": "2.8.26", 85 | "Microsoft.EntityFrameworkCore.Relational": "6.0.10" 86 | }, 87 | "compile": { 88 | "lib/net6.0/_._": { 89 | "related": ".xml" 90 | } 91 | }, 92 | "runtime": { 93 | "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll": { 94 | "related": ".xml" 95 | } 96 | }, 97 | "build": { 98 | "build/net6.0/Microsoft.EntityFrameworkCore.Design.props": {} 99 | } 100 | }, 101 | "Microsoft.EntityFrameworkCore.Relational/6.0.10": { 102 | "type": "package", 103 | "dependencies": { 104 | "Microsoft.EntityFrameworkCore": "6.0.10", 105 | "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" 106 | }, 107 | "compile": { 108 | "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": { 109 | "related": ".xml" 110 | } 111 | }, 112 | "runtime": { 113 | "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll": { 114 | "related": ".xml" 115 | } 116 | } 117 | }, 118 | "Microsoft.EntityFrameworkCore.Sqlite/6.0.10": { 119 | "type": "package", 120 | "dependencies": { 121 | "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.10", 122 | "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" 123 | }, 124 | "compile": { 125 | "lib/net6.0/_._": {} 126 | }, 127 | "runtime": { 128 | "lib/net6.0/_._": {} 129 | } 130 | }, 131 | "Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.10": { 132 | "type": "package", 133 | "dependencies": { 134 | "Microsoft.Data.Sqlite.Core": "6.0.10", 135 | "Microsoft.EntityFrameworkCore.Relational": "6.0.10", 136 | "Microsoft.Extensions.DependencyModel": "6.0.0" 137 | }, 138 | "compile": { 139 | "lib/net6.0/Microsoft.EntityFrameworkCore.Sqlite.dll": { 140 | "related": ".xml" 141 | } 142 | }, 143 | "runtime": { 144 | "lib/net6.0/Microsoft.EntityFrameworkCore.Sqlite.dll": { 145 | "related": ".xml" 146 | } 147 | } 148 | }, 149 | "Microsoft.EntityFrameworkCore.Tools/6.0.10": { 150 | "type": "package", 151 | "dependencies": { 152 | "Microsoft.EntityFrameworkCore.Design": "6.0.10" 153 | }, 154 | "compile": { 155 | "lib/net6.0/_._": {} 156 | }, 157 | "runtime": { 158 | "lib/net6.0/_._": {} 159 | } 160 | }, 161 | "Microsoft.Extensions.Caching.Abstractions/6.0.0": { 162 | "type": "package", 163 | "dependencies": { 164 | "Microsoft.Extensions.Primitives": "6.0.0" 165 | }, 166 | "compile": { 167 | "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { 168 | "related": ".xml" 169 | } 170 | }, 171 | "runtime": { 172 | "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": { 173 | "related": ".xml" 174 | } 175 | } 176 | }, 177 | "Microsoft.Extensions.Caching.Memory/6.0.1": { 178 | "type": "package", 179 | "dependencies": { 180 | "Microsoft.Extensions.Caching.Abstractions": "6.0.0", 181 | "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", 182 | "Microsoft.Extensions.Logging.Abstractions": "6.0.0", 183 | "Microsoft.Extensions.Options": "6.0.0", 184 | "Microsoft.Extensions.Primitives": "6.0.0" 185 | }, 186 | "compile": { 187 | "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { 188 | "related": ".xml" 189 | } 190 | }, 191 | "runtime": { 192 | "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": { 193 | "related": ".xml" 194 | } 195 | } 196 | }, 197 | "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { 198 | "type": "package", 199 | "dependencies": { 200 | "Microsoft.Extensions.Primitives": "6.0.0" 201 | }, 202 | "compile": { 203 | "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": { 204 | "related": ".xml" 205 | } 206 | }, 207 | "runtime": { 208 | "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": { 209 | "related": ".xml" 210 | } 211 | } 212 | }, 213 | "Microsoft.Extensions.DependencyInjection/6.0.1": { 214 | "type": "package", 215 | "dependencies": { 216 | "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", 217 | "System.Runtime.CompilerServices.Unsafe": "6.0.0" 218 | }, 219 | "compile": { 220 | "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": { 221 | "related": ".xml" 222 | } 223 | }, 224 | "runtime": { 225 | "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": { 226 | "related": ".xml" 227 | } 228 | }, 229 | "build": { 230 | "buildTransitive/netcoreapp3.1/_._": {} 231 | } 232 | }, 233 | "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { 234 | "type": "package", 235 | "compile": { 236 | "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { 237 | "related": ".xml" 238 | } 239 | }, 240 | "runtime": { 241 | "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { 242 | "related": ".xml" 243 | } 244 | }, 245 | "build": { 246 | "buildTransitive/netcoreapp3.1/_._": {} 247 | } 248 | }, 249 | "Microsoft.Extensions.DependencyModel/6.0.0": { 250 | "type": "package", 251 | "dependencies": { 252 | "System.Buffers": "4.5.1", 253 | "System.Memory": "4.5.4", 254 | "System.Runtime.CompilerServices.Unsafe": "6.0.0", 255 | "System.Text.Encodings.Web": "6.0.0", 256 | "System.Text.Json": "6.0.0" 257 | }, 258 | "compile": { 259 | "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": { 260 | "related": ".xml" 261 | } 262 | }, 263 | "runtime": { 264 | "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": { 265 | "related": ".xml" 266 | } 267 | } 268 | }, 269 | "Microsoft.Extensions.Logging/6.0.0": { 270 | "type": "package", 271 | "dependencies": { 272 | "Microsoft.Extensions.DependencyInjection": "6.0.0", 273 | "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", 274 | "Microsoft.Extensions.Logging.Abstractions": "6.0.0", 275 | "Microsoft.Extensions.Options": "6.0.0", 276 | "System.Diagnostics.DiagnosticSource": "6.0.0" 277 | }, 278 | "compile": { 279 | "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": { 280 | "related": ".xml" 281 | } 282 | }, 283 | "runtime": { 284 | "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": { 285 | "related": ".xml" 286 | } 287 | } 288 | }, 289 | "Microsoft.Extensions.Logging.Abstractions/6.0.0": { 290 | "type": "package", 291 | "compile": { 292 | "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { 293 | "related": ".xml" 294 | } 295 | }, 296 | "runtime": { 297 | "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { 298 | "related": ".xml" 299 | } 300 | }, 301 | "build": { 302 | "buildTransitive/netcoreapp3.1/_._": {} 303 | } 304 | }, 305 | "Microsoft.Extensions.Options/6.0.0": { 306 | "type": "package", 307 | "dependencies": { 308 | "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", 309 | "Microsoft.Extensions.Primitives": "6.0.0" 310 | }, 311 | "compile": { 312 | "lib/netstandard2.1/Microsoft.Extensions.Options.dll": { 313 | "related": ".xml" 314 | } 315 | }, 316 | "runtime": { 317 | "lib/netstandard2.1/Microsoft.Extensions.Options.dll": { 318 | "related": ".xml" 319 | } 320 | } 321 | }, 322 | "Microsoft.Extensions.Primitives/6.0.0": { 323 | "type": "package", 324 | "dependencies": { 325 | "System.Runtime.CompilerServices.Unsafe": "6.0.0" 326 | }, 327 | "compile": { 328 | "lib/net6.0/Microsoft.Extensions.Primitives.dll": { 329 | "related": ".xml" 330 | } 331 | }, 332 | "runtime": { 333 | "lib/net6.0/Microsoft.Extensions.Primitives.dll": { 334 | "related": ".xml" 335 | } 336 | }, 337 | "build": { 338 | "buildTransitive/netcoreapp3.1/_._": {} 339 | } 340 | }, 341 | "SQLitePCLRaw.bundle_e_sqlite3/2.0.6": { 342 | "type": "package", 343 | "dependencies": { 344 | "SQLitePCLRaw.core": "2.0.6", 345 | "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", 346 | "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" 347 | }, 348 | "compile": { 349 | "lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": {} 350 | }, 351 | "runtime": { 352 | "lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": {} 353 | } 354 | }, 355 | "SQLitePCLRaw.core/2.0.6": { 356 | "type": "package", 357 | "dependencies": { 358 | "System.Memory": "4.5.3" 359 | }, 360 | "compile": { 361 | "lib/netstandard2.0/SQLitePCLRaw.core.dll": {} 362 | }, 363 | "runtime": { 364 | "lib/netstandard2.0/SQLitePCLRaw.core.dll": {} 365 | } 366 | }, 367 | "SQLitePCLRaw.lib.e_sqlite3/2.0.6": { 368 | "type": "package", 369 | "compile": { 370 | "lib/netstandard2.0/_._": {} 371 | }, 372 | "runtime": { 373 | "lib/netstandard2.0/_._": {} 374 | }, 375 | "runtimeTargets": { 376 | "runtimes/alpine-x64/native/libe_sqlite3.so": { 377 | "assetType": "native", 378 | "rid": "alpine-x64" 379 | }, 380 | "runtimes/linux-arm/native/libe_sqlite3.so": { 381 | "assetType": "native", 382 | "rid": "linux-arm" 383 | }, 384 | "runtimes/linux-arm64/native/libe_sqlite3.so": { 385 | "assetType": "native", 386 | "rid": "linux-arm64" 387 | }, 388 | "runtimes/linux-armel/native/libe_sqlite3.so": { 389 | "assetType": "native", 390 | "rid": "linux-armel" 391 | }, 392 | "runtimes/linux-mips64/native/libe_sqlite3.so": { 393 | "assetType": "native", 394 | "rid": "linux-mips64" 395 | }, 396 | "runtimes/linux-musl-x64/native/libe_sqlite3.so": { 397 | "assetType": "native", 398 | "rid": "linux-musl-x64" 399 | }, 400 | "runtimes/linux-s390x/native/libe_sqlite3.so": { 401 | "assetType": "native", 402 | "rid": "linux-s390x" 403 | }, 404 | "runtimes/linux-x64/native/libe_sqlite3.so": { 405 | "assetType": "native", 406 | "rid": "linux-x64" 407 | }, 408 | "runtimes/linux-x86/native/libe_sqlite3.so": { 409 | "assetType": "native", 410 | "rid": "linux-x86" 411 | }, 412 | "runtimes/osx-arm64/native/libe_sqlite3.dylib": { 413 | "assetType": "native", 414 | "rid": "osx-arm64" 415 | }, 416 | "runtimes/osx-x64/native/libe_sqlite3.dylib": { 417 | "assetType": "native", 418 | "rid": "osx-x64" 419 | }, 420 | "runtimes/win-arm/native/e_sqlite3.dll": { 421 | "assetType": "native", 422 | "rid": "win-arm" 423 | }, 424 | "runtimes/win-arm64/native/e_sqlite3.dll": { 425 | "assetType": "native", 426 | "rid": "win-arm64" 427 | }, 428 | "runtimes/win-x64/native/e_sqlite3.dll": { 429 | "assetType": "native", 430 | "rid": "win-x64" 431 | }, 432 | "runtimes/win-x86/native/e_sqlite3.dll": { 433 | "assetType": "native", 434 | "rid": "win-x86" 435 | } 436 | } 437 | }, 438 | "SQLitePCLRaw.provider.e_sqlite3/2.0.6": { 439 | "type": "package", 440 | "dependencies": { 441 | "SQLitePCLRaw.core": "2.0.6" 442 | }, 443 | "compile": { 444 | "lib/net5.0/SQLitePCLRaw.provider.e_sqlite3.dll": {} 445 | }, 446 | "runtime": { 447 | "lib/net5.0/SQLitePCLRaw.provider.e_sqlite3.dll": {} 448 | } 449 | }, 450 | "System.Buffers/4.5.1": { 451 | "type": "package", 452 | "compile": { 453 | "ref/netcoreapp2.0/_._": {} 454 | }, 455 | "runtime": { 456 | "lib/netcoreapp2.0/_._": {} 457 | } 458 | }, 459 | "System.Collections.Immutable/6.0.0": { 460 | "type": "package", 461 | "dependencies": { 462 | "System.Runtime.CompilerServices.Unsafe": "6.0.0" 463 | }, 464 | "compile": { 465 | "lib/net6.0/System.Collections.Immutable.dll": { 466 | "related": ".xml" 467 | } 468 | }, 469 | "runtime": { 470 | "lib/net6.0/System.Collections.Immutable.dll": { 471 | "related": ".xml" 472 | } 473 | }, 474 | "build": { 475 | "buildTransitive/netcoreapp3.1/_._": {} 476 | } 477 | }, 478 | "System.Diagnostics.DiagnosticSource/6.0.0": { 479 | "type": "package", 480 | "dependencies": { 481 | "System.Runtime.CompilerServices.Unsafe": "6.0.0" 482 | }, 483 | "compile": { 484 | "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": { 485 | "related": ".xml" 486 | } 487 | }, 488 | "runtime": { 489 | "lib/net6.0/System.Diagnostics.DiagnosticSource.dll": { 490 | "related": ".xml" 491 | } 492 | }, 493 | "build": { 494 | "buildTransitive/netcoreapp3.1/_._": {} 495 | } 496 | }, 497 | "System.Memory/4.5.4": { 498 | "type": "package", 499 | "compile": { 500 | "ref/netcoreapp2.1/_._": {} 501 | }, 502 | "runtime": { 503 | "lib/netcoreapp2.1/_._": {} 504 | } 505 | }, 506 | "System.Runtime.CompilerServices.Unsafe/6.0.0": { 507 | "type": "package", 508 | "compile": { 509 | "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { 510 | "related": ".xml" 511 | } 512 | }, 513 | "runtime": { 514 | "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { 515 | "related": ".xml" 516 | } 517 | }, 518 | "build": { 519 | "buildTransitive/netcoreapp3.1/_._": {} 520 | } 521 | }, 522 | "System.Text.Encodings.Web/6.0.0": { 523 | "type": "package", 524 | "dependencies": { 525 | "System.Runtime.CompilerServices.Unsafe": "6.0.0" 526 | }, 527 | "compile": { 528 | "lib/net6.0/System.Text.Encodings.Web.dll": { 529 | "related": ".xml" 530 | } 531 | }, 532 | "runtime": { 533 | "lib/net6.0/System.Text.Encodings.Web.dll": { 534 | "related": ".xml" 535 | } 536 | }, 537 | "build": { 538 | "buildTransitive/netcoreapp3.1/_._": {} 539 | }, 540 | "runtimeTargets": { 541 | "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll": { 542 | "assetType": "runtime", 543 | "rid": "browser" 544 | } 545 | } 546 | }, 547 | "System.Text.Json/6.0.0": { 548 | "type": "package", 549 | "dependencies": { 550 | "System.Runtime.CompilerServices.Unsafe": "6.0.0", 551 | "System.Text.Encodings.Web": "6.0.0" 552 | }, 553 | "compile": { 554 | "lib/net6.0/System.Text.Json.dll": { 555 | "related": ".xml" 556 | } 557 | }, 558 | "runtime": { 559 | "lib/net6.0/System.Text.Json.dll": { 560 | "related": ".xml" 561 | } 562 | }, 563 | "build": { 564 | "buildTransitive/netcoreapp3.1/_._": {} 565 | } 566 | } 567 | } 568 | }, 569 | "libraries": { 570 | "Humanizer.Core/2.8.26": { 571 | "sha512": "OiKusGL20vby4uDEswj2IgkdchC1yQ6rwbIkZDVBPIR6al2b7n3pC91elBul9q33KaBgRKhbZH3+2Ur4fnWx2A==", 572 | "type": "package", 573 | "path": "humanizer.core/2.8.26", 574 | "files": [ 575 | ".nupkg.metadata", 576 | ".signature.p7s", 577 | "humanizer.core.2.8.26.nupkg.sha512", 578 | "humanizer.core.nuspec", 579 | "lib/netstandard1.0/Humanizer.dll", 580 | "lib/netstandard1.0/Humanizer.xml", 581 | "lib/netstandard2.0/Humanizer.dll", 582 | "lib/netstandard2.0/Humanizer.xml", 583 | "logo.png" 584 | ] 585 | }, 586 | "Microsoft.Data.Sqlite.Core/6.0.10": { 587 | "sha512": "TWUjLTzSeENkEChqWrcaAzIrD9i5M2l2qrWDI00lC38xBPUuK1Qf57ZywO+dwmr2S3yS0VUPvpdpqCrq60QaRw==", 588 | "type": "package", 589 | "path": "microsoft.data.sqlite.core/6.0.10", 590 | "files": [ 591 | ".nupkg.metadata", 592 | ".signature.p7s", 593 | "Icon.png", 594 | "lib/net6.0/Microsoft.Data.Sqlite.dll", 595 | "lib/net6.0/Microsoft.Data.Sqlite.xml", 596 | "lib/netstandard2.0/Microsoft.Data.Sqlite.dll", 597 | "lib/netstandard2.0/Microsoft.Data.Sqlite.xml", 598 | "microsoft.data.sqlite.core.6.0.10.nupkg.sha512", 599 | "microsoft.data.sqlite.core.nuspec" 600 | ] 601 | }, 602 | "Microsoft.EntityFrameworkCore/6.0.10": { 603 | "sha512": "aMk8c7XKynkDJM8vnRuVz3VHSLiWy4tWpkvSdrQ4No1DNLdtTI6P3iT2wAPvVkuJsS22Ifs62/Jr6AyveX5b4A==", 604 | "type": "package", 605 | "path": "microsoft.entityframeworkcore/6.0.10", 606 | "files": [ 607 | ".nupkg.metadata", 608 | ".signature.p7s", 609 | "Icon.png", 610 | "buildTransitive/net6.0/Microsoft.EntityFrameworkCore.props", 611 | "lib/net6.0/Microsoft.EntityFrameworkCore.dll", 612 | "lib/net6.0/Microsoft.EntityFrameworkCore.xml", 613 | "microsoft.entityframeworkcore.6.0.10.nupkg.sha512", 614 | "microsoft.entityframeworkcore.nuspec" 615 | ] 616 | }, 617 | "Microsoft.EntityFrameworkCore.Abstractions/6.0.10": { 618 | "sha512": "3BMwnBB6Bgwd6bjUqx2pOYuHpGBHCJxY3vorRJYX3U2wzrz5q4jNxDZZGsMViFZeJ7PXFIwbgy6rR73J5aalsg==", 619 | "type": "package", 620 | "path": "microsoft.entityframeworkcore.abstractions/6.0.10", 621 | "files": [ 622 | ".nupkg.metadata", 623 | ".signature.p7s", 624 | "Icon.png", 625 | "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll", 626 | "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.xml", 627 | "microsoft.entityframeworkcore.abstractions.6.0.10.nupkg.sha512", 628 | "microsoft.entityframeworkcore.abstractions.nuspec" 629 | ] 630 | }, 631 | "Microsoft.EntityFrameworkCore.Analyzers/6.0.10": { 632 | "sha512": "b4jKcjo6BLuBRjLTkZPjJCvZ7oa3a798Q1AXSMAknitpBEOEIDryyRd7XZ0cnEIVCvfSND+Trgb00Z4TiTqOvg==", 633 | "type": "package", 634 | "path": "microsoft.entityframeworkcore.analyzers/6.0.10", 635 | "files": [ 636 | ".nupkg.metadata", 637 | ".signature.p7s", 638 | "Icon.png", 639 | "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", 640 | "lib/netstandard2.0/_._", 641 | "microsoft.entityframeworkcore.analyzers.6.0.10.nupkg.sha512", 642 | "microsoft.entityframeworkcore.analyzers.nuspec" 643 | ] 644 | }, 645 | "Microsoft.EntityFrameworkCore.Design/6.0.10": { 646 | "sha512": "SVqDfUftgBoKCMPfTaWXiKBZPHMjbiBJLE5WE7MeD28nTk7CkmUNX8eXyNIeWxpDuk4r0zZ6XG9zyG7Ef3KS4A==", 647 | "type": "package", 648 | "path": "microsoft.entityframeworkcore.design/6.0.10", 649 | "files": [ 650 | ".nupkg.metadata", 651 | ".signature.p7s", 652 | "Icon.png", 653 | "build/net6.0/Microsoft.EntityFrameworkCore.Design.props", 654 | "lib/net6.0/Microsoft.EntityFrameworkCore.Design.dll", 655 | "lib/net6.0/Microsoft.EntityFrameworkCore.Design.xml", 656 | "microsoft.entityframeworkcore.design.6.0.10.nupkg.sha512", 657 | "microsoft.entityframeworkcore.design.nuspec" 658 | ] 659 | }, 660 | "Microsoft.EntityFrameworkCore.Relational/6.0.10": { 661 | "sha512": "8rjVzKtGSTojSefghXqh3Y2wq8A7P7iWuUQQyQieXNYrYA7nw2aHZI2rjU+7ta4jHgKITddUHFaPQJ69H18dQA==", 662 | "type": "package", 663 | "path": "microsoft.entityframeworkcore.relational/6.0.10", 664 | "files": [ 665 | ".nupkg.metadata", 666 | ".signature.p7s", 667 | "Icon.png", 668 | "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.dll", 669 | "lib/net6.0/Microsoft.EntityFrameworkCore.Relational.xml", 670 | "microsoft.entityframeworkcore.relational.6.0.10.nupkg.sha512", 671 | "microsoft.entityframeworkcore.relational.nuspec" 672 | ] 673 | }, 674 | "Microsoft.EntityFrameworkCore.Sqlite/6.0.10": { 675 | "sha512": "JWoqE8TMKg+SwMmig3UPsC1Fg00JQ3dyPpr64VuYlnaags+1eJ5gAYJ38CHdxSGIQQouUv7fK3rfuoKfFc5kiA==", 676 | "type": "package", 677 | "path": "microsoft.entityframeworkcore.sqlite/6.0.10", 678 | "files": [ 679 | ".nupkg.metadata", 680 | ".signature.p7s", 681 | "Icon.png", 682 | "lib/net6.0/_._", 683 | "microsoft.entityframeworkcore.sqlite.6.0.10.nupkg.sha512", 684 | "microsoft.entityframeworkcore.sqlite.nuspec" 685 | ] 686 | }, 687 | "Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.10": { 688 | "sha512": "5aynyix0/bvGlmlX3ude/ctTJ0t/styV3Cmd9BR9ujb0vlU8WuFxJqriVhuRnCLS9I7+vBgSh7FWdxWz8cHi3A==", 689 | "type": "package", 690 | "path": "microsoft.entityframeworkcore.sqlite.core/6.0.10", 691 | "files": [ 692 | ".nupkg.metadata", 693 | ".signature.p7s", 694 | "Icon.png", 695 | "lib/net6.0/Microsoft.EntityFrameworkCore.Sqlite.dll", 696 | "lib/net6.0/Microsoft.EntityFrameworkCore.Sqlite.xml", 697 | "microsoft.entityframeworkcore.sqlite.core.6.0.10.nupkg.sha512", 698 | "microsoft.entityframeworkcore.sqlite.core.nuspec" 699 | ] 700 | }, 701 | "Microsoft.EntityFrameworkCore.Tools/6.0.10": { 702 | "sha512": "LWQvCb3lmTxkcnzO8H0ib0Ot/Pow9Kubt2iqvhhAHEbhs7SS1ygB938EpmuD9o1yyyliAg6FHln5o6jVfEkdyQ==", 703 | "type": "package", 704 | "path": "microsoft.entityframeworkcore.tools/6.0.10", 705 | "hasTools": true, 706 | "files": [ 707 | ".nupkg.metadata", 708 | ".signature.p7s", 709 | "Icon.png", 710 | "lib/net6.0/_._", 711 | "microsoft.entityframeworkcore.tools.6.0.10.nupkg.sha512", 712 | "microsoft.entityframeworkcore.tools.nuspec", 713 | "tools/EntityFrameworkCore.PS2.psd1", 714 | "tools/EntityFrameworkCore.PS2.psm1", 715 | "tools/EntityFrameworkCore.psd1", 716 | "tools/EntityFrameworkCore.psm1", 717 | "tools/about_EntityFrameworkCore.help.txt", 718 | "tools/init.ps1", 719 | "tools/net461/any/ef.exe", 720 | "tools/net461/win-arm64/ef.exe", 721 | "tools/net461/win-x86/ef.exe", 722 | "tools/netcoreapp2.0/any/ef.dll", 723 | "tools/netcoreapp2.0/any/ef.runtimeconfig.json" 724 | ] 725 | }, 726 | "Microsoft.Extensions.Caching.Abstractions/6.0.0": { 727 | "sha512": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", 728 | "type": "package", 729 | "path": "microsoft.extensions.caching.abstractions/6.0.0", 730 | "files": [ 731 | ".nupkg.metadata", 732 | ".signature.p7s", 733 | "Icon.png", 734 | "LICENSE.TXT", 735 | "THIRD-PARTY-NOTICES.TXT", 736 | "lib/net461/Microsoft.Extensions.Caching.Abstractions.dll", 737 | "lib/net461/Microsoft.Extensions.Caching.Abstractions.xml", 738 | "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", 739 | "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", 740 | "microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512", 741 | "microsoft.extensions.caching.abstractions.nuspec", 742 | "useSharedDesignerContext.txt" 743 | ] 744 | }, 745 | "Microsoft.Extensions.Caching.Memory/6.0.1": { 746 | "sha512": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", 747 | "type": "package", 748 | "path": "microsoft.extensions.caching.memory/6.0.1", 749 | "files": [ 750 | ".nupkg.metadata", 751 | ".signature.p7s", 752 | "Icon.png", 753 | "LICENSE.TXT", 754 | "THIRD-PARTY-NOTICES.TXT", 755 | "lib/net461/Microsoft.Extensions.Caching.Memory.dll", 756 | "lib/net461/Microsoft.Extensions.Caching.Memory.xml", 757 | "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", 758 | "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", 759 | "microsoft.extensions.caching.memory.6.0.1.nupkg.sha512", 760 | "microsoft.extensions.caching.memory.nuspec", 761 | "useSharedDesignerContext.txt" 762 | ] 763 | }, 764 | "Microsoft.Extensions.Configuration.Abstractions/6.0.0": { 765 | "sha512": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", 766 | "type": "package", 767 | "path": "microsoft.extensions.configuration.abstractions/6.0.0", 768 | "files": [ 769 | ".nupkg.metadata", 770 | ".signature.p7s", 771 | "Icon.png", 772 | "LICENSE.TXT", 773 | "THIRD-PARTY-NOTICES.TXT", 774 | "lib/net461/Microsoft.Extensions.Configuration.Abstractions.dll", 775 | "lib/net461/Microsoft.Extensions.Configuration.Abstractions.xml", 776 | "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", 777 | "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", 778 | "microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512", 779 | "microsoft.extensions.configuration.abstractions.nuspec", 780 | "useSharedDesignerContext.txt" 781 | ] 782 | }, 783 | "Microsoft.Extensions.DependencyInjection/6.0.1": { 784 | "sha512": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", 785 | "type": "package", 786 | "path": "microsoft.extensions.dependencyinjection/6.0.1", 787 | "files": [ 788 | ".nupkg.metadata", 789 | ".signature.p7s", 790 | "Icon.png", 791 | "LICENSE.TXT", 792 | "THIRD-PARTY-NOTICES.TXT", 793 | "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", 794 | "buildTransitive/netcoreapp3.1/_._", 795 | "lib/net461/Microsoft.Extensions.DependencyInjection.dll", 796 | "lib/net461/Microsoft.Extensions.DependencyInjection.xml", 797 | "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", 798 | "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", 799 | "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", 800 | "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", 801 | "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", 802 | "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", 803 | "microsoft.extensions.dependencyinjection.6.0.1.nupkg.sha512", 804 | "microsoft.extensions.dependencyinjection.nuspec", 805 | "useSharedDesignerContext.txt" 806 | ] 807 | }, 808 | "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { 809 | "sha512": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==", 810 | "type": "package", 811 | "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0", 812 | "files": [ 813 | ".nupkg.metadata", 814 | ".signature.p7s", 815 | "Icon.png", 816 | "LICENSE.TXT", 817 | "THIRD-PARTY-NOTICES.TXT", 818 | "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", 819 | "buildTransitive/netcoreapp3.1/_._", 820 | "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.dll", 821 | "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.xml", 822 | "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", 823 | "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", 824 | "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", 825 | "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", 826 | "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", 827 | "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", 828 | "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512", 829 | "microsoft.extensions.dependencyinjection.abstractions.nuspec", 830 | "useSharedDesignerContext.txt" 831 | ] 832 | }, 833 | "Microsoft.Extensions.DependencyModel/6.0.0": { 834 | "sha512": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", 835 | "type": "package", 836 | "path": "microsoft.extensions.dependencymodel/6.0.0", 837 | "files": [ 838 | ".nupkg.metadata", 839 | ".signature.p7s", 840 | "Icon.png", 841 | "LICENSE.TXT", 842 | "THIRD-PARTY-NOTICES.TXT", 843 | "lib/net461/Microsoft.Extensions.DependencyModel.dll", 844 | "lib/net461/Microsoft.Extensions.DependencyModel.xml", 845 | "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll", 846 | "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml", 847 | "microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512", 848 | "microsoft.extensions.dependencymodel.nuspec", 849 | "useSharedDesignerContext.txt" 850 | ] 851 | }, 852 | "Microsoft.Extensions.Logging/6.0.0": { 853 | "sha512": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", 854 | "type": "package", 855 | "path": "microsoft.extensions.logging/6.0.0", 856 | "files": [ 857 | ".nupkg.metadata", 858 | ".signature.p7s", 859 | "Icon.png", 860 | "LICENSE.TXT", 861 | "THIRD-PARTY-NOTICES.TXT", 862 | "lib/net461/Microsoft.Extensions.Logging.dll", 863 | "lib/net461/Microsoft.Extensions.Logging.xml", 864 | "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", 865 | "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", 866 | "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", 867 | "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", 868 | "microsoft.extensions.logging.6.0.0.nupkg.sha512", 869 | "microsoft.extensions.logging.nuspec", 870 | "useSharedDesignerContext.txt" 871 | ] 872 | }, 873 | "Microsoft.Extensions.Logging.Abstractions/6.0.0": { 874 | "sha512": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", 875 | "type": "package", 876 | "path": "microsoft.extensions.logging.abstractions/6.0.0", 877 | "files": [ 878 | ".nupkg.metadata", 879 | ".signature.p7s", 880 | "Icon.png", 881 | "LICENSE.TXT", 882 | "THIRD-PARTY-NOTICES.TXT", 883 | "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", 884 | "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", 885 | "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", 886 | "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", 887 | "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", 888 | "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", 889 | "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", 890 | "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", 891 | "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", 892 | "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", 893 | "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", 894 | "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", 895 | "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", 896 | "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", 897 | "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", 898 | "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", 899 | "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", 900 | "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", 901 | "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", 902 | "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", 903 | "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", 904 | "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", 905 | "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", 906 | "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", 907 | "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", 908 | "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", 909 | "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", 910 | "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", 911 | "build/Microsoft.Extensions.Logging.Abstractions.targets", 912 | "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", 913 | "buildTransitive/netcoreapp3.1/_._", 914 | "lib/net461/Microsoft.Extensions.Logging.Abstractions.dll", 915 | "lib/net461/Microsoft.Extensions.Logging.Abstractions.xml", 916 | "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", 917 | "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", 918 | "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", 919 | "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", 920 | "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512", 921 | "microsoft.extensions.logging.abstractions.nuspec", 922 | "useSharedDesignerContext.txt" 923 | ] 924 | }, 925 | "Microsoft.Extensions.Options/6.0.0": { 926 | "sha512": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", 927 | "type": "package", 928 | "path": "microsoft.extensions.options/6.0.0", 929 | "files": [ 930 | ".nupkg.metadata", 931 | ".signature.p7s", 932 | "Icon.png", 933 | "LICENSE.TXT", 934 | "THIRD-PARTY-NOTICES.TXT", 935 | "lib/net461/Microsoft.Extensions.Options.dll", 936 | "lib/net461/Microsoft.Extensions.Options.xml", 937 | "lib/netstandard2.0/Microsoft.Extensions.Options.dll", 938 | "lib/netstandard2.0/Microsoft.Extensions.Options.xml", 939 | "lib/netstandard2.1/Microsoft.Extensions.Options.dll", 940 | "lib/netstandard2.1/Microsoft.Extensions.Options.xml", 941 | "microsoft.extensions.options.6.0.0.nupkg.sha512", 942 | "microsoft.extensions.options.nuspec", 943 | "useSharedDesignerContext.txt" 944 | ] 945 | }, 946 | "Microsoft.Extensions.Primitives/6.0.0": { 947 | "sha512": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", 948 | "type": "package", 949 | "path": "microsoft.extensions.primitives/6.0.0", 950 | "files": [ 951 | ".nupkg.metadata", 952 | ".signature.p7s", 953 | "Icon.png", 954 | "LICENSE.TXT", 955 | "THIRD-PARTY-NOTICES.TXT", 956 | "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", 957 | "buildTransitive/netcoreapp3.1/_._", 958 | "lib/net461/Microsoft.Extensions.Primitives.dll", 959 | "lib/net461/Microsoft.Extensions.Primitives.xml", 960 | "lib/net6.0/Microsoft.Extensions.Primitives.dll", 961 | "lib/net6.0/Microsoft.Extensions.Primitives.xml", 962 | "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll", 963 | "lib/netcoreapp3.1/Microsoft.Extensions.Primitives.xml", 964 | "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", 965 | "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", 966 | "microsoft.extensions.primitives.6.0.0.nupkg.sha512", 967 | "microsoft.extensions.primitives.nuspec", 968 | "useSharedDesignerContext.txt" 969 | ] 970 | }, 971 | "SQLitePCLRaw.bundle_e_sqlite3/2.0.6": { 972 | "sha512": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", 973 | "type": "package", 974 | "path": "sqlitepclraw.bundle_e_sqlite3/2.0.6", 975 | "files": [ 976 | ".nupkg.metadata", 977 | ".signature.p7s", 978 | "lib/Xamarin.iOS10/SQLitePCLRaw.batteries_v2.dll", 979 | "lib/Xamarin.tvOS10/SQLitePCLRaw.batteries_v2.dll", 980 | "lib/net461/SQLitePCLRaw.batteries_v2.dll", 981 | "lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll", 982 | "sqlitepclraw.bundle_e_sqlite3.2.0.6.nupkg.sha512", 983 | "sqlitepclraw.bundle_e_sqlite3.nuspec" 984 | ] 985 | }, 986 | "SQLitePCLRaw.core/2.0.6": { 987 | "sha512": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", 988 | "type": "package", 989 | "path": "sqlitepclraw.core/2.0.6", 990 | "files": [ 991 | ".nupkg.metadata", 992 | ".signature.p7s", 993 | "lib/netstandard2.0/SQLitePCLRaw.core.dll", 994 | "sqlitepclraw.core.2.0.6.nupkg.sha512", 995 | "sqlitepclraw.core.nuspec" 996 | ] 997 | }, 998 | "SQLitePCLRaw.lib.e_sqlite3/2.0.6": { 999 | "sha512": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==", 1000 | "type": "package", 1001 | "path": "sqlitepclraw.lib.e_sqlite3/2.0.6", 1002 | "files": [ 1003 | ".nupkg.metadata", 1004 | ".signature.p7s", 1005 | "build/net461/SQLitePCLRaw.lib.e_sqlite3.targets", 1006 | "lib/net461/_._", 1007 | "lib/netstandard2.0/_._", 1008 | "runtimes/alpine-x64/native/libe_sqlite3.so", 1009 | "runtimes/linux-arm/native/libe_sqlite3.so", 1010 | "runtimes/linux-arm64/native/libe_sqlite3.so", 1011 | "runtimes/linux-armel/native/libe_sqlite3.so", 1012 | "runtimes/linux-mips64/native/libe_sqlite3.so", 1013 | "runtimes/linux-musl-x64/native/libe_sqlite3.so", 1014 | "runtimes/linux-s390x/native/libe_sqlite3.so", 1015 | "runtimes/linux-x64/native/libe_sqlite3.so", 1016 | "runtimes/linux-x86/native/libe_sqlite3.so", 1017 | "runtimes/osx-arm64/native/libe_sqlite3.dylib", 1018 | "runtimes/osx-x64/native/libe_sqlite3.dylib", 1019 | "runtimes/win-arm/native/e_sqlite3.dll", 1020 | "runtimes/win-arm64/native/e_sqlite3.dll", 1021 | "runtimes/win-x64/native/e_sqlite3.dll", 1022 | "runtimes/win-x86/native/e_sqlite3.dll", 1023 | "runtimes/win10-arm/nativeassets/uap10.0/e_sqlite3.dll", 1024 | "runtimes/win10-arm64/nativeassets/uap10.0/e_sqlite3.dll", 1025 | "runtimes/win10-x64/nativeassets/uap10.0/e_sqlite3.dll", 1026 | "runtimes/win10-x86/nativeassets/uap10.0/e_sqlite3.dll", 1027 | "sqlitepclraw.lib.e_sqlite3.2.0.6.nupkg.sha512", 1028 | "sqlitepclraw.lib.e_sqlite3.nuspec" 1029 | ] 1030 | }, 1031 | "SQLitePCLRaw.provider.e_sqlite3/2.0.6": { 1032 | "sha512": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", 1033 | "type": "package", 1034 | "path": "sqlitepclraw.provider.e_sqlite3/2.0.6", 1035 | "files": [ 1036 | ".nupkg.metadata", 1037 | ".signature.p7s", 1038 | "lib/net5.0/SQLitePCLRaw.provider.e_sqlite3.dll", 1039 | "lib/netstandard2.0/SQLitePCLRaw.provider.e_sqlite3.dll", 1040 | "lib/uap10.0/SQLitePCLRaw.provider.e_sqlite3.dll", 1041 | "sqlitepclraw.provider.e_sqlite3.2.0.6.nupkg.sha512", 1042 | "sqlitepclraw.provider.e_sqlite3.nuspec" 1043 | ] 1044 | }, 1045 | "System.Buffers/4.5.1": { 1046 | "sha512": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", 1047 | "type": "package", 1048 | "path": "system.buffers/4.5.1", 1049 | "files": [ 1050 | ".nupkg.metadata", 1051 | ".signature.p7s", 1052 | "LICENSE.TXT", 1053 | "THIRD-PARTY-NOTICES.TXT", 1054 | "lib/net461/System.Buffers.dll", 1055 | "lib/net461/System.Buffers.xml", 1056 | "lib/netcoreapp2.0/_._", 1057 | "lib/netstandard1.1/System.Buffers.dll", 1058 | "lib/netstandard1.1/System.Buffers.xml", 1059 | "lib/netstandard2.0/System.Buffers.dll", 1060 | "lib/netstandard2.0/System.Buffers.xml", 1061 | "lib/uap10.0.16299/_._", 1062 | "ref/net45/System.Buffers.dll", 1063 | "ref/net45/System.Buffers.xml", 1064 | "ref/netcoreapp2.0/_._", 1065 | "ref/netstandard1.1/System.Buffers.dll", 1066 | "ref/netstandard1.1/System.Buffers.xml", 1067 | "ref/netstandard2.0/System.Buffers.dll", 1068 | "ref/netstandard2.0/System.Buffers.xml", 1069 | "ref/uap10.0.16299/_._", 1070 | "system.buffers.4.5.1.nupkg.sha512", 1071 | "system.buffers.nuspec", 1072 | "useSharedDesignerContext.txt", 1073 | "version.txt" 1074 | ] 1075 | }, 1076 | "System.Collections.Immutable/6.0.0": { 1077 | "sha512": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", 1078 | "type": "package", 1079 | "path": "system.collections.immutable/6.0.0", 1080 | "files": [ 1081 | ".nupkg.metadata", 1082 | ".signature.p7s", 1083 | "Icon.png", 1084 | "LICENSE.TXT", 1085 | "THIRD-PARTY-NOTICES.TXT", 1086 | "buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets", 1087 | "buildTransitive/netcoreapp3.1/_._", 1088 | "lib/net461/System.Collections.Immutable.dll", 1089 | "lib/net461/System.Collections.Immutable.xml", 1090 | "lib/net6.0/System.Collections.Immutable.dll", 1091 | "lib/net6.0/System.Collections.Immutable.xml", 1092 | "lib/netstandard2.0/System.Collections.Immutable.dll", 1093 | "lib/netstandard2.0/System.Collections.Immutable.xml", 1094 | "system.collections.immutable.6.0.0.nupkg.sha512", 1095 | "system.collections.immutable.nuspec", 1096 | "useSharedDesignerContext.txt" 1097 | ] 1098 | }, 1099 | "System.Diagnostics.DiagnosticSource/6.0.0": { 1100 | "sha512": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", 1101 | "type": "package", 1102 | "path": "system.diagnostics.diagnosticsource/6.0.0", 1103 | "files": [ 1104 | ".nupkg.metadata", 1105 | ".signature.p7s", 1106 | "Icon.png", 1107 | "LICENSE.TXT", 1108 | "THIRD-PARTY-NOTICES.TXT", 1109 | "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets", 1110 | "buildTransitive/netcoreapp3.1/_._", 1111 | "lib/net461/System.Diagnostics.DiagnosticSource.dll", 1112 | "lib/net461/System.Diagnostics.DiagnosticSource.xml", 1113 | "lib/net5.0/System.Diagnostics.DiagnosticSource.dll", 1114 | "lib/net5.0/System.Diagnostics.DiagnosticSource.xml", 1115 | "lib/net6.0/System.Diagnostics.DiagnosticSource.dll", 1116 | "lib/net6.0/System.Diagnostics.DiagnosticSource.xml", 1117 | "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll", 1118 | "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml", 1119 | "system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512", 1120 | "system.diagnostics.diagnosticsource.nuspec", 1121 | "useSharedDesignerContext.txt" 1122 | ] 1123 | }, 1124 | "System.Memory/4.5.4": { 1125 | "sha512": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", 1126 | "type": "package", 1127 | "path": "system.memory/4.5.4", 1128 | "files": [ 1129 | ".nupkg.metadata", 1130 | ".signature.p7s", 1131 | "LICENSE.TXT", 1132 | "THIRD-PARTY-NOTICES.TXT", 1133 | "lib/net461/System.Memory.dll", 1134 | "lib/net461/System.Memory.xml", 1135 | "lib/netcoreapp2.1/_._", 1136 | "lib/netstandard1.1/System.Memory.dll", 1137 | "lib/netstandard1.1/System.Memory.xml", 1138 | "lib/netstandard2.0/System.Memory.dll", 1139 | "lib/netstandard2.0/System.Memory.xml", 1140 | "ref/netcoreapp2.1/_._", 1141 | "system.memory.4.5.4.nupkg.sha512", 1142 | "system.memory.nuspec", 1143 | "useSharedDesignerContext.txt", 1144 | "version.txt" 1145 | ] 1146 | }, 1147 | "System.Runtime.CompilerServices.Unsafe/6.0.0": { 1148 | "sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", 1149 | "type": "package", 1150 | "path": "system.runtime.compilerservices.unsafe/6.0.0", 1151 | "files": [ 1152 | ".nupkg.metadata", 1153 | ".signature.p7s", 1154 | "Icon.png", 1155 | "LICENSE.TXT", 1156 | "THIRD-PARTY-NOTICES.TXT", 1157 | "buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets", 1158 | "buildTransitive/netcoreapp3.1/_._", 1159 | "lib/net461/System.Runtime.CompilerServices.Unsafe.dll", 1160 | "lib/net461/System.Runtime.CompilerServices.Unsafe.xml", 1161 | "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll", 1162 | "lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml", 1163 | "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll", 1164 | "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml", 1165 | "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll", 1166 | "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml", 1167 | "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", 1168 | "system.runtime.compilerservices.unsafe.nuspec", 1169 | "useSharedDesignerContext.txt" 1170 | ] 1171 | }, 1172 | "System.Text.Encodings.Web/6.0.0": { 1173 | "sha512": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", 1174 | "type": "package", 1175 | "path": "system.text.encodings.web/6.0.0", 1176 | "files": [ 1177 | ".nupkg.metadata", 1178 | ".signature.p7s", 1179 | "Icon.png", 1180 | "LICENSE.TXT", 1181 | "THIRD-PARTY-NOTICES.TXT", 1182 | "buildTransitive/netcoreapp2.0/System.Text.Encodings.Web.targets", 1183 | "buildTransitive/netcoreapp3.1/_._", 1184 | "lib/net461/System.Text.Encodings.Web.dll", 1185 | "lib/net461/System.Text.Encodings.Web.xml", 1186 | "lib/net6.0/System.Text.Encodings.Web.dll", 1187 | "lib/net6.0/System.Text.Encodings.Web.xml", 1188 | "lib/netcoreapp3.1/System.Text.Encodings.Web.dll", 1189 | "lib/netcoreapp3.1/System.Text.Encodings.Web.xml", 1190 | "lib/netstandard2.0/System.Text.Encodings.Web.dll", 1191 | "lib/netstandard2.0/System.Text.Encodings.Web.xml", 1192 | "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll", 1193 | "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.xml", 1194 | "system.text.encodings.web.6.0.0.nupkg.sha512", 1195 | "system.text.encodings.web.nuspec", 1196 | "useSharedDesignerContext.txt" 1197 | ] 1198 | }, 1199 | "System.Text.Json/6.0.0": { 1200 | "sha512": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", 1201 | "type": "package", 1202 | "path": "system.text.json/6.0.0", 1203 | "files": [ 1204 | ".nupkg.metadata", 1205 | ".signature.p7s", 1206 | "Icon.png", 1207 | "LICENSE.TXT", 1208 | "THIRD-PARTY-NOTICES.TXT", 1209 | "analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll", 1210 | "analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll", 1211 | "analyzers/dotnet/roslyn3.11/cs/de/System.Text.Json.SourceGeneration.resources.dll", 1212 | "analyzers/dotnet/roslyn3.11/cs/es/System.Text.Json.SourceGeneration.resources.dll", 1213 | "analyzers/dotnet/roslyn3.11/cs/fr/System.Text.Json.SourceGeneration.resources.dll", 1214 | "analyzers/dotnet/roslyn3.11/cs/it/System.Text.Json.SourceGeneration.resources.dll", 1215 | "analyzers/dotnet/roslyn3.11/cs/ja/System.Text.Json.SourceGeneration.resources.dll", 1216 | "analyzers/dotnet/roslyn3.11/cs/ko/System.Text.Json.SourceGeneration.resources.dll", 1217 | "analyzers/dotnet/roslyn3.11/cs/pl/System.Text.Json.SourceGeneration.resources.dll", 1218 | "analyzers/dotnet/roslyn3.11/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", 1219 | "analyzers/dotnet/roslyn3.11/cs/ru/System.Text.Json.SourceGeneration.resources.dll", 1220 | "analyzers/dotnet/roslyn3.11/cs/tr/System.Text.Json.SourceGeneration.resources.dll", 1221 | "analyzers/dotnet/roslyn3.11/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", 1222 | "analyzers/dotnet/roslyn3.11/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", 1223 | "analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll", 1224 | "analyzers/dotnet/roslyn4.0/cs/cs/System.Text.Json.SourceGeneration.resources.dll", 1225 | "analyzers/dotnet/roslyn4.0/cs/de/System.Text.Json.SourceGeneration.resources.dll", 1226 | "analyzers/dotnet/roslyn4.0/cs/es/System.Text.Json.SourceGeneration.resources.dll", 1227 | "analyzers/dotnet/roslyn4.0/cs/fr/System.Text.Json.SourceGeneration.resources.dll", 1228 | "analyzers/dotnet/roslyn4.0/cs/it/System.Text.Json.SourceGeneration.resources.dll", 1229 | "analyzers/dotnet/roslyn4.0/cs/ja/System.Text.Json.SourceGeneration.resources.dll", 1230 | "analyzers/dotnet/roslyn4.0/cs/ko/System.Text.Json.SourceGeneration.resources.dll", 1231 | "analyzers/dotnet/roslyn4.0/cs/pl/System.Text.Json.SourceGeneration.resources.dll", 1232 | "analyzers/dotnet/roslyn4.0/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", 1233 | "analyzers/dotnet/roslyn4.0/cs/ru/System.Text.Json.SourceGeneration.resources.dll", 1234 | "analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll", 1235 | "analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", 1236 | "analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", 1237 | "build/System.Text.Json.targets", 1238 | "buildTransitive/netcoreapp2.0/System.Text.Json.targets", 1239 | "buildTransitive/netcoreapp3.1/_._", 1240 | "lib/net461/System.Text.Json.dll", 1241 | "lib/net461/System.Text.Json.xml", 1242 | "lib/net6.0/System.Text.Json.dll", 1243 | "lib/net6.0/System.Text.Json.xml", 1244 | "lib/netcoreapp3.1/System.Text.Json.dll", 1245 | "lib/netcoreapp3.1/System.Text.Json.xml", 1246 | "lib/netstandard2.0/System.Text.Json.dll", 1247 | "lib/netstandard2.0/System.Text.Json.xml", 1248 | "system.text.json.6.0.0.nupkg.sha512", 1249 | "system.text.json.nuspec", 1250 | "useSharedDesignerContext.txt" 1251 | ] 1252 | } 1253 | }, 1254 | "projectFileDependencyGroups": { 1255 | "net6.0": [ 1256 | "Microsoft.EntityFrameworkCore.Sqlite >= 6.0.10", 1257 | "Microsoft.EntityFrameworkCore.Tools >= 6.0.10" 1258 | ] 1259 | }, 1260 | "packageFolders": { 1261 | "C:\\Users\\Gandeloft\\.nuget\\packages\\": {} 1262 | }, 1263 | "project": { 1264 | "version": "1.0.0", 1265 | "restore": { 1266 | "projectUniqueName": "F:\\KemonoDownloader\\KemonoDownloaderDataModels\\KemonoDownloaderDataModels.csproj", 1267 | "projectName": "KemonoDownloaderDataModels", 1268 | "projectPath": "F:\\KemonoDownloader\\KemonoDownloaderDataModels\\KemonoDownloaderDataModels.csproj", 1269 | "packagesPath": "C:\\Users\\Gandeloft\\.nuget\\packages\\", 1270 | "outputPath": "F:\\KemonoDownloader\\KemonoDownloaderDataModels\\obj\\", 1271 | "projectStyle": "PackageReference", 1272 | "configFilePaths": [ 1273 | "C:\\Users\\Gandeloft\\AppData\\Roaming\\NuGet\\NuGet.Config", 1274 | "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" 1275 | ], 1276 | "originalTargetFrameworks": [ 1277 | "net6.0" 1278 | ], 1279 | "sources": { 1280 | "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, 1281 | "http://api.nuget.org/v3/index.json": {} 1282 | }, 1283 | "frameworks": { 1284 | "net6.0": { 1285 | "targetAlias": "net6.0", 1286 | "projectReferences": {} 1287 | } 1288 | }, 1289 | "warningProperties": { 1290 | "warnAsError": [ 1291 | "NU1605" 1292 | ] 1293 | } 1294 | }, 1295 | "frameworks": { 1296 | "net6.0": { 1297 | "targetAlias": "net6.0", 1298 | "dependencies": { 1299 | "Microsoft.EntityFrameworkCore.Sqlite": { 1300 | "target": "Package", 1301 | "version": "[6.0.10, )" 1302 | }, 1303 | "Microsoft.EntityFrameworkCore.Tools": { 1304 | "include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive", 1305 | "suppressParent": "All", 1306 | "target": "Package", 1307 | "version": "[6.0.10, )" 1308 | } 1309 | }, 1310 | "imports": [ 1311 | "net461", 1312 | "net462", 1313 | "net47", 1314 | "net471", 1315 | "net472", 1316 | "net48", 1317 | "net481" 1318 | ], 1319 | "assetTargetFallback": true, 1320 | "warn": true, 1321 | "frameworkReferences": { 1322 | "Microsoft.NETCore.App": { 1323 | "privateAssets": "all" 1324 | } 1325 | }, 1326 | "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.400\\RuntimeIdentifierGraph.json" 1327 | } 1328 | } 1329 | }, 1330 | "logs": [ 1331 | { 1332 | "code": "NU1803", 1333 | "level": "Warning", 1334 | "warningLevel": 1, 1335 | "message": "You are running the 'restore' operation with an 'HTTP' source, 'http://api.nuget.org/v3/index.json'. Non-HTTPS access will be removed in a future version. Consider migrating to an 'HTTPS' source." 1336 | } 1337 | ] 1338 | } -------------------------------------------------------------------------------- /KemonoDownloaderDataModels/obj/project.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2, 3 | "dgSpecHash": "FtgxdFrbVUQPCdr9O1HqeLvGQDZ9oYdmy0renPimYO5Q9aWE4qKtLfMLaOJyX+Wv/o/O/18qaQ0lgnfWk2AJTw==", 4 | "success": true, 5 | "projectFilePath": "F:\\KemonoDownloader\\KemonoDownloaderDataModels\\KemonoDownloaderDataModels.csproj", 6 | "expectedPackageFiles": [ 7 | "C:\\Users\\Gandeloft\\.nuget\\packages\\humanizer.core\\2.8.26\\humanizer.core.2.8.26.nupkg.sha512", 8 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.data.sqlite.core\\6.0.10\\microsoft.data.sqlite.core.6.0.10.nupkg.sha512", 9 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.entityframeworkcore\\6.0.10\\microsoft.entityframeworkcore.6.0.10.nupkg.sha512", 10 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\6.0.10\\microsoft.entityframeworkcore.abstractions.6.0.10.nupkg.sha512", 11 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\6.0.10\\microsoft.entityframeworkcore.analyzers.6.0.10.nupkg.sha512", 12 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.entityframeworkcore.design\\6.0.10\\microsoft.entityframeworkcore.design.6.0.10.nupkg.sha512", 13 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\6.0.10\\microsoft.entityframeworkcore.relational.6.0.10.nupkg.sha512", 14 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.entityframeworkcore.sqlite\\6.0.10\\microsoft.entityframeworkcore.sqlite.6.0.10.nupkg.sha512", 15 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.entityframeworkcore.sqlite.core\\6.0.10\\microsoft.entityframeworkcore.sqlite.core.6.0.10.nupkg.sha512", 16 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.entityframeworkcore.tools\\6.0.10\\microsoft.entityframeworkcore.tools.6.0.10.nupkg.sha512", 17 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\6.0.0\\microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512", 18 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.extensions.caching.memory\\6.0.1\\microsoft.extensions.caching.memory.6.0.1.nupkg.sha512", 19 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\6.0.0\\microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512", 20 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\6.0.1\\microsoft.extensions.dependencyinjection.6.0.1.nupkg.sha512", 21 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\6.0.0\\microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512", 22 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.extensions.dependencymodel\\6.0.0\\microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512", 23 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.extensions.logging\\6.0.0\\microsoft.extensions.logging.6.0.0.nupkg.sha512", 24 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\6.0.0\\microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512", 25 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.extensions.options\\6.0.0\\microsoft.extensions.options.6.0.0.nupkg.sha512", 26 | "C:\\Users\\Gandeloft\\.nuget\\packages\\microsoft.extensions.primitives\\6.0.0\\microsoft.extensions.primitives.6.0.0.nupkg.sha512", 27 | "C:\\Users\\Gandeloft\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\2.0.6\\sqlitepclraw.bundle_e_sqlite3.2.0.6.nupkg.sha512", 28 | "C:\\Users\\Gandeloft\\.nuget\\packages\\sqlitepclraw.core\\2.0.6\\sqlitepclraw.core.2.0.6.nupkg.sha512", 29 | "C:\\Users\\Gandeloft\\.nuget\\packages\\sqlitepclraw.lib.e_sqlite3\\2.0.6\\sqlitepclraw.lib.e_sqlite3.2.0.6.nupkg.sha512", 30 | "C:\\Users\\Gandeloft\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\2.0.6\\sqlitepclraw.provider.e_sqlite3.2.0.6.nupkg.sha512", 31 | "C:\\Users\\Gandeloft\\.nuget\\packages\\system.buffers\\4.5.1\\system.buffers.4.5.1.nupkg.sha512", 32 | "C:\\Users\\Gandeloft\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512", 33 | "C:\\Users\\Gandeloft\\.nuget\\packages\\system.diagnostics.diagnosticsource\\6.0.0\\system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512", 34 | "C:\\Users\\Gandeloft\\.nuget\\packages\\system.memory\\4.5.4\\system.memory.4.5.4.nupkg.sha512", 35 | "C:\\Users\\Gandeloft\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", 36 | "C:\\Users\\Gandeloft\\.nuget\\packages\\system.text.encodings.web\\6.0.0\\system.text.encodings.web.6.0.0.nupkg.sha512", 37 | "C:\\Users\\Gandeloft\\.nuget\\packages\\system.text.json\\6.0.0\\system.text.json.6.0.0.nupkg.sha512" 38 | ], 39 | "logs": [ 40 | { 41 | "code": "NU1803", 42 | "level": "Warning", 43 | "warningLevel": 1, 44 | "message": "You are running the 'restore' operation with an 'HTTP' source, 'http://api.nuget.org/v3/index.json'. Non-HTTPS access will be removed in a future version. Consider migrating to an 'HTTPS' source." 45 | } 46 | ] 47 | } -------------------------------------------------------------------------------- /artistUrls.txt: -------------------------------------------------------------------------------- 1 | https://kemono.party/fanbox/user/23198118 https://kemono.party/fanbox/user/60356242 https://kemono.party/patreon/user/11398277 https://kemono.party/fanbox/user/4698160 https://kemono.party/fanbox/user/2262943 https://kemono.party/fanbox/user/29362997 https://kemono.party/fanbox/user/1618895 https://kemono.party/fanbox/user/1992358 https://kemono.party/fanbox/user/32465500 https://kemono.party/fanbox/user/5628444 https://kemono.party/fanbox/user/59575784 https://kemono.party/fanbox/user/8899963 https://kemono.party/fanbox/user/2262943 https://kemono.party/fanbox/user/3199929 https://kemono.party/fanbox/user/34904 https://kemono.party/fanbox/user/74761925 https://kemono.party/fanbox/user/6191306 https://kemono.party/fanbox/user/31559095 https://kemono.party/fanbox/user/16629961 https://kemono.party/fanbox/user/1545742 https://kemono.party/fanbox/user/117753 https://kemono.party/fanbox/user/193635 https://kemono.party/fanbox/user/884506 https://kemono.party/patreon/user/5042442 https://kemono.party/fanbox/user/62546282 https://kemono.party/fanbox/user/2468295 https://kemono.party/patreon/user/37324136 https://kemono.party/fanbox/user/24164271 https://kemono.party/fanbox/user/44968193 https://kemono.party/fanbox/user/2254862 https://kemono.party/fanbox/user/1951517 https://kemono.party/fanbox/user/80553046 https://kemono.party/fanbox/user/17332140 https://kemono.party/fanbox/user/11586896 https://kemono.party/fanbox/user/13494047 https://kemono.party/fanbox/user/10951069 https://kemono.party/fanbox/user/59470435 https://kemono.party/fanbox/user/8252709 https://kemono.party/fanbox/user/62546282 https://kemono.party/fanbox/user/32465500 https://kemono.party/fanbox/user/6570768 https://kemono.party/fanbox/user/5818586 https://kemono.party/fantia/user/79162 https://kemono.party/fanbox/user/11229342 https://kemono.party/fanbox/user/2848117 https://kemono.party/fanbox/user/7225148 https://kemono.party/patreon/user/33095951 https://kemono.party/patreon/user/8432484 https://kemono.party/fanbox/user/95525 https://kemono.party/fanbox/user/1479742 https://kemono.party/fanbox/user/28724783 https://kemono.party/fanbox/user/26291244 https://kemono.party/fanbox/user/26291244 https://kemono.party/fanbox/user/35322125 https://kemono.party/fanbox/user/36175 https://kemono.party/fanbox/user/16396506 https://kemono.party/fanbox/user/4537818 https://kemono.party/fanbox/user/34673258 https://kemono.party/fanbox/user/9309600 https://kemono.party/patreon/user/16112298 https://kemono.party/fanbox/user/2744600 https://kemono.party/patreon/user/2394360 https://kemono.party/fanbox/user/3000591 https://kemono.party/fanbox/user/22750097 https://kemono.party/fanbox/user/3630778 https://kemono.party/fanbox/user/9480665 https://kemono.party/fanbox/user/6021189 https://kemono.party/fanbox/user/5309852 https://kemono.party/fanbox/user/74761925 https://kemono.party/patreon/user/56379528 https://kemono.party/gumroad/user/1341324150254 https://kemono.party/fanbox/user/6214 https://kemono.party/fanbox/user/6214 https://kemono.party/gumroad/user/1135809427369 https://kemono.party/fantia/user/2820 https://kemono.party/fanbox/user/440400 https://kemono.party/fanbox/user/61008905 https://kemono.party/fanbox/user/30273335 https://kemono.party/fanbox/user/10559523 https://kemono.party/fanbox/user/11365815 https://kemono.party/fanbox/user/4935 https://kemono.party/fanbox/user/5261554 https://kemono.party/patreon/user/6171404 https://kemono.party/fanbox/user/177560 https://kemono.party/fanbox/user/27106680 https://kemono.party/fanbox/user/23039427 https://kemono.party/fanbox/user/43455730 https://kemono.party/fanbox/user/64084190 https://kemono.party/fanbox/user/72927321 https://kemono.party/fanbox/user/50815444 https://kemono.party/fanbox/user/4977498 https://kemono.party/fanbox/user/7225148 https://kemono.party/fanbox/user/5261554 https://kemono.party/fanbox/user/78762602 https://kemono.party/patreon/user/15873007 https://kemono.party/patreon/user/881792 https://kemono.party/fanbox/user/8821927 https://kemono.party/fanbox/user/1284629 https://kemono.party/fanbox/user/71407 https://kemono.party/fanbox/user/2681650 https://kemono.party/fanbox/user/4234383 https://kemono.party/fanbox/user/17848 https://kemono.party/fanbox/user/4994 https://kemono.party/fanbox/user/23972229 https://kemono.party/fanbox/user/81970 https://kemono.party/fanbox/user/15914334 https://kemono.party/fanbox/user/29610865 https://kemono.party/fanbox/user/7342308 https://kemono.party/fanbox/user/36206 https://kemono.party/fanbox/user/59375709 https://kemono.party/fanbox/user/10706782 https://kemono.party/fanbox/user/37625681 https://kemono.party/fanbox/user/35145272 https://kemono.party/fanbox/user/49494721 https://kemono.party/fanbox/user/74824024 https://kemono.party/fanbox/user/569672 https://kemono.party/fanbox/user/63183178 https://kemono.party/fanbox/user/2527282 https://kemono.party/fanbox/user/64048 https://kemono.party/fanbox/user/14857335 https://kemono.party/fanbox/user/57851734 https://kemono.party/fanbox/user/4557 https://kemono.party/fanbox/user/36206 https://kemono.party/fanbox/user/51251559 https://kemono.party/fanbox/user/60959119 https://kemono.party/fanbox/user/31934781 https://kemono.party/patreon/user/45409739 --------------------------------------------------------------------------------