[
  {
    "path": ".editorconfig",
    "content": "root = true\n\n# All Files\n[*]\ncharset = utf-8\nindent_style = space\nindent_size = 4\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n# Solution Files\n[*.sln]\nindent_style = space\nindent_size = 4\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n# XML Project Files\n[*.csproj]\nindent_style = space\nindent_size = 2\n\n# Code Files\n[*.cs]\ninsert_final_newline = true\ntrim_trailing_whitespace = true\nindent_style = space\nindent_size = 4\ntab_width = 4\nend_of_line = crlf\ncsharp_prefer_braces = when_multiline:warning\ndotnet_diagnostic.IDE0047.severity = none\ndotnet_diagnostic.IDE0048.severity = none\ndotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:suggest\ndotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:suggest\ndotnet_style_parentheses_in_other_binary_operators = always_for_clarity:suggest\ndotnet_style_parentheses_in_other_operators = always_for_clarity:suggest\n\n[*.{cs,vb}]\n#### Naming styles ####\n\n# Naming styles\n\ndotnet_naming_style.begins_with_i.required_prefix = I\ndotnet_naming_style.begins_with_i.capitalization = pascal_case\n"
  },
  {
    "path": ".gitattributes",
    "content": "###############################################################################\n# Set default behavior to automatically normalize line endings.\n###############################################################################\n* text=auto\n\n###############################################################################\n# Set default behavior for command prompt diff.\n#\n# This is need for earlier builds of msysgit that does not have it on by\n# default for csharp files.\n# Note: This is only used by command line\n###############################################################################\n#*.cs     diff=csharp\n\n###############################################################################\n# Set the merge driver for project and solution files\n#\n# Merging from the command prompt will add diff markers to the files if there\n# are conflicts (Merging from VS is not affected by the settings below, in VS\n# the diff markers are never inserted). Diff markers may cause the following \n# file extensions to fail to load in VS. An alternative would be to treat\n# these files as binary and thus will always conflict and require user\n# intervention with every merge. To do so, just uncomment the entries below\n###############################################################################\n#*.sln       merge=binary\n#*.csproj    merge=binary\n#*.vbproj    merge=binary\n#*.vcxproj   merge=binary\n#*.vcproj    merge=binary\n#*.dbproj    merge=binary\n#*.fsproj    merge=binary\n#*.lsproj    merge=binary\n#*.wixproj   merge=binary\n#*.modelproj merge=binary\n#*.sqlproj   merge=binary\n#*.wwaproj   merge=binary\n\n###############################################################################\n# behavior for image files\n#\n# image files are treated as binary by default.\n###############################################################################\n#*.jpg   binary\n#*.png   binary\n#*.gif   binary\n\n###############################################################################\n# diff behavior for common document formats\n# \n# Convert binary document formats to text before diffing them. This feature\n# is only available from the command line. Turn it on by uncommenting the \n# entries below.\n###############################################################################\n#*.doc   diff=astextplain\n#*.DOC   diff=astextplain\n#*.docx  diff=astextplain\n#*.DOCX  diff=astextplain\n#*.dot   diff=astextplain\n#*.DOT   diff=astextplain\n#*.pdf   diff=astextplain\n#*.PDF   diff=astextplain\n#*.rtf   diff=astextplain\n#*.RTF   diff=astextplain\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug report\nabout: Create a report to help us fix incorrect/unexpected behavior or results\ntitle: ''\nlabels: bug\nassignees: ''\n\n---\n\n**Describe the bug**\nA clear and concise description of what the bug is.\n\n**To Reproduce**\nIf applicable, please list the steps to reproduce the behavior:\n1. Go to '...'\n2. Click on '....'\n3. Scroll down to '....'\n4. See error\n\n**Expected behavior**\nA clear and concise description of what you expected to happen, or what you found in-game.\n\n**Raid Data**\nIf the result you see in the program does not match what you see in-game, please click \"Dump Raid\" and replace this text with the bytes in the window that pops up.\n\n**Screenshots**\nIf applicable, add screenshots to help explain your problem.\n\n**Additional context**\nAdd any other context about the problem here.\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where the package manifests are located.\n# Please see the documentation for all configuration options:\n# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates\n\nversion: 2\nupdates:\n  - package-ecosystem: \"github-actions\" # See documentation for possible values\n    directory: \"/\" # Location of package manifests\n    schedule:\n      interval: \"weekly\"\n"
  },
  {
    "path": ".github/workflows/dotnet-desktop.yml",
    "content": "name: .NET Core Desktop\n\non:\n  push:\n    branches: [ main ]\n  pull_request:\n    branches: [ main ]\n\njobs:\n\n  build:\n\n    env:\n      Configuration: 'Release'\n\n    runs-on: windows-latest\n\n    steps:\n    - name: Checkout\n      uses: actions/checkout@v6\n      with:\n        fetch-depth: 0\n\n    - name: Install .NET Core\n      uses: actions/setup-dotnet@v5\n      with:\n        dotnet-version: |\n          10.0.x\n\n    - name: Restore the solution\n      run: dotnet restore\n    \n    - name: Publish\n      run: |\n        dotnet build --configuration $env:Configuration --no-restore\n        dotnet publish -c $env:Configuration -r win-x64 --self-contained false\n\n    - name: Archive production artifacts\n      if: ${{ success() }}\n      uses: actions/upload-artifact@v7\n      with:\n        name: RaidCrawler\n        path: |\n          ./RaidCrawler.WinForms/bin/x64/Release/net10.0-windows/win-x64/publish/\n"
  },
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore\n\n# User-specific files\n*.rsuser\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Mono auto generated files\nmono_crash.*\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\n[Ww][Ii][Nn]32/\n[Aa][Rr][Mm]/\n[Aa][Rr][Mm]64/\nbld/\n[Bb]in/\n[Oo]bj/\n[Oo]ut/\n[Ll]og/\n[Ll]ogs/\n\n# Visual Studio 2015/2017 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# Visual Studio 2017 auto generated files\nGenerated\\ Files/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUnit\n*.VisualState.xml\nTestResult.xml\nnunit-*.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# Benchmark Results\nBenchmarkDotNet.Artifacts/\n\n# .NET Core\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n\n# ASP.NET Scaffolding\nScaffoldingReadMe.txt\n\n# StyleCop\nStyleCopReport.xml\n\n# Files built by Visual Studio\n*_i.c\n*_p.c\n*_h.h\n*.ilk\n*.meta\n*.obj\n*.iobj\n*.pch\n*.pdb\n*.ipdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*_wpftmp.csproj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# Visual Studio Trace Files\n*.e2e\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# AxoCover is a Code Coverage Tool\n.axoCover/*\n!.axoCover/settings.json\n\n# Coverlet is a free, cross platform Code Coverage Tool\ncoverage*.json\ncoverage*.xml\ncoverage*.info\n\n# Visual Studio code coverage results\n*.coverage\n*.coveragexml\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# Note: Comment the next line if you want to checkin your web deploy settings,\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# NuGet Symbol Packages\n*.snupkg\n# The packages folder can be ignored because of Package Restore\n**/[Pp]ackages/*\n# except build/, which is used as an MSBuild target.\n!**/[Pp]ackages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/[Pp]ackages/repositories.config\n# NuGet v3's project.json files produces more ignorable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n*.appx\n*.appxbundle\n*.appxupload\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!?*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\norleans.codegen.cs\n\n# Including strong name files can present a security risk\n# (https://github.com/github/gitignore/pull/2483#issue-259490424)\n#*.snk\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\nServiceFabricBackup/\n*.rptproj.bak\n\n# SQL Server files\n*.mdf\n*.ldf\n*.ndf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n*.rptproj.rsuser\n*- [Bb]ackup.rdl\n*- [Bb]ackup ([0-9]).rdl\n*- [Bb]ackup ([0-9][0-9]).rdl\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\nnode_modules/\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)\n*.vbw\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# CodeRush personal settings\n.cr/personal\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc\n\n# Cake - Uncomment if you are using it\n# tools/**\n# !tools/packages.config\n\n# Tabs Studio\n*.tss\n\n# Telerik's JustMock configuration file\n*.jmconfig\n\n# BizTalk build output\n*.btp.cs\n*.btm.cs\n*.odx.cs\n*.xsd.cs\n\n# OpenCover UI analysis results\nOpenCover/\n\n# Azure Stream Analytics local run output\nASALocalRun/\n\n# MSBuild Binary and Structured Log\n*.binlog\n\n# NVidia Nsight GPU debugger configuration file\n*.nvuser\n\n# MFractors (Xamarin productivity tool) working folder\n.mfractor/\n\n# Local History for Visual Studio\n.localhistory/\n\n# BeatPulse healthcheck temp database\nhealthchecksdb\n\n# Backup folder for Package Reference Convert tool in Visual Studio 2017\nMigrationBackup/\n\n# Ionide (cross platform F# VS Code tools) working folder\n.ionide/\n\n# Fody - auto-generated XML schema\nFodyWeavers.xsd"
  },
  {
    "path": "Directory.Build.props",
    "content": "<Project>\n  <PropertyGroup>\n    <TargetFramework>net9.0</TargetFramework>\n    <RuntimeIdentifier>win-x64</RuntimeIdentifier>\n    <LangVersion>13</LangVersion>\n    <Nullable>enable</Nullable>\n    <NeutralLanguage>en</NeutralLanguage>\n    <SelfContained>false</SelfContained>\n    <PackageAsSingleFile>true</PackageAsSingleFile>\n    <IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>\n    <SourceRevisionId>$([System.DateTime]::UtcNow.ToString(\"yyMMddHHmmss\"))</SourceRevisionId>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)' == 'Release'\">\n    <DebugType>none</DebugType>\n    <DebugSymbols>false</DebugSymbols>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)' == 'Debug'\">\n    <DebugType>portable</DebugType>\n  </PropertyGroup>\n</Project>"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see <https://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n    <program>  Copyright (C) <year>  <name of author>\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<https://www.gnu.org/licenses/>.\n\n  The GNU General Public License does not permit incorporating your program\ninto proprietary programs.  If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.  But first, please read\n<https://www.gnu.org/licenses/why-not-lgpl.html>.\n"
  },
  {
    "path": "README.md",
    "content": "# RaidCrawler\n![Version](https://img.shields.io/github/v/release/LegoFigure11/RaidCrawler?label=latest%20release)\n![Download Count](https://img.shields.io/github/downloads/LegoFigure11/RaidCrawler/total?label=total%20downloads)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/LegoFigure11/RaidCrawler/dotnet-desktop.yml?branch=main)](https://nightly.link/LegoFigure11/RaidCrawler/workflows/dotnet-desktop/main/RaidCrawler.zip)\n\n[sys-botbase](https://github.com/LegoFigure11/usb-botbase) client Raid Viewer for Pokémon Scarlet and Violet.\n\n**Basic usage guide:** [Click here](https://billo-guides.github.io/cfw/sv/raidcrawler) (thanks [Billo](https://github.com/Billo-PS)!)\n\n![](https://i.imgur.com/TNOvbdY.png)\n\nLeverages SysBot.Base.dll from [kwsch/SysBot.NET](https://github.com/kwsch/SysBot.NET)\n"
  },
  {
    "path": "RaidCrawler.Core/Connection/ConnectionWrapper.cs",
    "content": "using PKHeX.Core;\nusing RaidCrawler.Core.Interfaces;\nusing RaidCrawler.Core.Structures;\nusing SysBot.Base;\nusing System.Net.Sockets;\nusing System.Text;\nusing static SysBot.Base.SwitchButton;\n\nnamespace RaidCrawler.Core.Connection;\n\npublic class ConnectionWrapperAsync(SwitchConnectionConfig Config, Action<string> StatusUpdate) : Offsets\n{\n    public readonly ISwitchConnectionAsync Connection = Config.Protocol switch\n    {\n        SwitchProtocol.USB => new SwitchUSBAsync(Config.Port),\n        _ => new SwitchSocketAsync(Config),\n    };\n\n    public bool Connected => IsConnected;\n    private bool IsConnected { get; set; }\n    private readonly bool CRLF = Config.Protocol is SwitchProtocol.WiFi;\n    private static ulong BaseBlockKeyPointer;\n\n    public async Task<(bool, string)> Connect(CancellationToken token)\n    {\n        if (Connected)\n            return (true, \"\");\n\n        try\n        {\n            StatusUpdate(\"Connecting...\");\n            Connection.Connect();\n            BaseBlockKeyPointer = await Connection\n                .PointerAll(BlockKeyPointer.ToArray(), token)\n                .ConfigureAwait(false);\n            IsConnected = true;\n            StatusUpdate(\"Connected!\");\n            return (true, \"\");\n        }\n        catch (SocketException e)\n        {\n            IsConnected = false;\n            return (false, e.Message);\n        }\n    }\n\n    public async Task<(bool, string)> DisconnectAsync(CancellationToken token)\n    {\n        if (!Connected)\n            return (true, \"\");\n\n        try\n        {\n            StatusUpdate(\"Disconnecting controller...\");\n            await Connection\n                .SendAsync(SwitchCommand.DetachController(CRLF), token)\n                .ConfigureAwait(false);\n\n            StatusUpdate(\"Disconnecting...\");\n            Connection.Disconnect();\n            IsConnected = false;\n            StatusUpdate(\"Disconnected!\");\n            return (true, \"\");\n        }\n        catch (SocketException e)\n        {\n            IsConnected = false;\n            return (false, e.Message);\n        }\n    }\n\n    public async Task<int> GetStoryProgress(CancellationToken token)\n    {\n        for (int i = DifficultyFlags.Length - 1; i >= 0; i--)\n        {\n            // See https://github.com/Lincoln-LM/sv-live-map/pull/43\n            var block = await ReadSaveBlock(DifficultyFlags[i], 1, token).ConfigureAwait(false);\n            if (block[0] == 2)\n                return i + 1;\n        }\n        return 0;\n    }\n\n    private async Task<byte[]> ReadSaveBlock(uint key, int size, CancellationToken token)\n    {\n        var block_ofs = await SearchSaveKey(key, token).ConfigureAwait(false);\n        var data = await Connection\n            .ReadBytesAbsoluteAsync(block_ofs + 8, 0x8, token)\n            .ConfigureAwait(false);\n        block_ofs = BitConverter.ToUInt64(data, 0);\n\n        var block = await Connection\n            .ReadBytesAbsoluteAsync(block_ofs, size, token)\n            .ConfigureAwait(false);\n        return DecryptBlock(key, block);\n    }\n\n    private async Task<byte[]> ReadSaveBlockObject(uint key, CancellationToken token)\n    {\n        var header_ofs = await SearchSaveKey(key, token).ConfigureAwait(false);\n        var data = await Connection\n            .ReadBytesAbsoluteAsync(header_ofs + 8, 8, token)\n            .ConfigureAwait(false);\n        header_ofs = BitConverter.ToUInt64(data);\n\n        var header = await Connection\n            .ReadBytesAbsoluteAsync(header_ofs, 5, token)\n            .ConfigureAwait(false);\n        header = DecryptBlock(key, header);\n\n        var size = BitConverter.ToUInt32(header.AsSpan()[1..]);\n        var obj = await Connection\n            .ReadBytesAbsoluteAsync(header_ofs, (int)size + 5, token)\n            .ConfigureAwait(false);\n        return DecryptBlock(key, obj)[5..];\n    }\n\n    public async Task<byte[]> ReadBlockDefault(uint key, string? cache, bool force, CancellationToken token)\n    {\n        var folder = Path.Combine(Directory.GetCurrentDirectory(), \"cache\");\n        Directory.CreateDirectory(folder);\n\n        var path = Path.Combine(folder, cache ?? \"\");\n        if (!force && cache is not null && File.Exists(path))\n            return await File.ReadAllBytesAsync(path, token);\n\n        var bin = await ReadSaveBlockObject(key, token).ConfigureAwait(false);\n        await File.WriteAllBytesAsync(path, bin, token);\n        return bin;\n    }\n\n    private async Task<ulong> SearchSaveKey(uint key, CancellationToken token)\n    {\n        var data = await Connection\n            .ReadBytesAbsoluteAsync(BaseBlockKeyPointer + 8, 16, token)\n            .ConfigureAwait(false);\n        var start = BitConverter.ToUInt64(data.AsSpan()[..8]);\n        var end = BitConverter.ToUInt64(data.AsSpan()[8..]);\n\n        while (start < end)\n        {\n            var block_ct = (end - start) / 48;\n            var mid = start + ((block_ct >> 1) * 48);\n\n            data = await Connection.ReadBytesAbsoluteAsync(mid, 4, token).ConfigureAwait(false);\n            var found = BitConverter.ToUInt32(data);\n            if (found == key)\n                return mid;\n\n            if (found >= key)\n                end = mid;\n            else\n                start = mid + 48;\n        }\n        return start;\n    }\n\n    private static byte[] DecryptBlock(uint key, byte[] block)\n    {\n        var rng = new SCXorShift32(key);\n        for (int i = 0; i < block.Length; i++)\n            block[i] = (byte)(block[i] ^ rng.Next());\n        return block;\n    }\n\n    private async Task Click(SwitchButton button, int delay, CancellationToken token)\n    {\n        await Connection\n            .SendAsync(SwitchCommand.Click(button, CRLF), token)\n            .ConfigureAwait(false);\n        await Task.Delay(delay, token).ConfigureAwait(false);\n    }\n\n    private async Task Touch(int x, int y, int hold, int delay, CancellationToken token)\n    {\n        var command = Encoding.ASCII.GetBytes(\n            $\"touchHold {x} {y} {hold}{(CRLF ? \"\\r\\n\" : \"\")}\"\n        );\n        await Connection.SendAsync(command, token).ConfigureAwait(false);\n        await Task.Delay(delay, token).ConfigureAwait(false);\n    }\n\n    private async Task SetStick(\n        SwitchStick stick,\n        short x,\n        short y,\n        int hold,\n        int delay,\n        CancellationToken token\n    )\n    {\n        await Connection\n            .SendAsync(SwitchCommand.SetStick(stick, x, y, CRLF), token)\n            .ConfigureAwait(false);\n        await Task.Delay(hold, token).ConfigureAwait(false);\n        await Connection\n            .SendAsync(SwitchCommand.SetStick(stick, 0, 0, CRLF), token)\n            .ConfigureAwait(false);\n        await Task.Delay(delay, token).ConfigureAwait(false);\n    }\n\n    private async Task PressAndHold(\n        SwitchButton b,\n        int hold,\n        int delay,\n        CancellationToken token\n    )\n    {\n        await Connection.SendAsync(SwitchCommand.Hold(b, CRLF), token).ConfigureAwait(false);\n        await Task.Delay(hold, token).ConfigureAwait(false);\n        await Connection.SendAsync(SwitchCommand.Release(b, CRLF), token).ConfigureAwait(false);\n        await Task.Delay(delay, token).ConfigureAwait(false);\n    }\n\n    private async Task SkipHour(int hours, int delay, CancellationToken token)\n    {\n        var command = Encoding.ASCII.GetBytes($\"timeSkipForward{(CRLF ? \"\\r\\n\" : \"\")}\");\n        for (int i = 0; i < hours; i++)\n        {\n            await Connection.SendAsync(command, token).ConfigureAwait(false);\n            await Task.Delay(delay, token).ConfigureAwait(false);\n        }\n    }\n\n    public async Task ResetTime(CancellationToken token)\n    {\n        var command = Encoding.ASCII.GetBytes($\"resetTime{(CRLF ? \"\\r\\n\" : \"\")}\");\n        await Connection.SendAsync(command, token).ConfigureAwait(false);\n    }\n\n    public async Task ResetTimeNTP(CancellationToken token)\n    {\n        var command = Encoding.ASCII.GetBytes($\"resetTimeNTP{(CRLF ? \"\\r\\n\" : \"\")}\");\n        await Connection.SendAsync(command, token).ConfigureAwait(false);\n    }\n\n    public async Task<ulong> GetCurrentTime(CancellationToken token)\n    {\n        var command = Encoding.ASCII.GetBytes($\"getCurrentTime{(CRLF ? \"\\r\\n\" : \"\")}\");\n        var res = await Connection.ReadRaw(command, 17, token).ConfigureAwait(false);\n        ulong.TryParse(Encoding.ASCII.GetString(res).Trim('\\n'), System.Globalization.NumberStyles.AllowHexSpecifier, null, out var time);\n        return time;\n    }\n\n    public async Task SetCurrentTime(ulong date, CancellationToken token)\n    {\n        var command = Encoding.ASCII.GetBytes($\"setCurrentTime {date}{(CRLF ? \"\\r\\n\" : \"\")}\");\n        await Connection.SendAsync(command, token).ConfigureAwait(false);\n    }\n\n    // Thank you to Anubis for sharing a more optimized routine, as well as CloseGame(), StartGame(), and SaveGame()!\n    public async Task AdvanceDate(\n        IDateAdvanceConfig config,\n        int skips,\n        CancellationToken token,\n        Action<int>? action = null\n    )\n    {\n        // Not great, but when adding/removing clicks, make sure to account for command count for an accurate StreamerView progress bar.\n        int steps =\n            (config.UseTouch ? 19 : 25)\n            + (config.UseOvershoot ? 2 : config.SystemDownPresses)\n            + (config.DodgeSystemUpdate ? 2 : 0)\n            + config.DaysToSkip;\n\n        if (config.ZyroMethod)\n            steps = 3;\n\n        StatusUpdate(\"Changing date...\");\n        var BaseDelay = config.BaseDelay;\n\n        if (config.ZyroMethod)\n        {\n            if (skips % 2 == 0)\n            {\n                await SkipHour(24, 0, token).ConfigureAwait(false);\n            }\n            else\n            {\n                await ResetTime(token).ConfigureAwait(false);\n            }\n            await Task.Delay(3_000, token).ConfigureAwait(false);\n        }\n        else\n        {\n            if (!config.UseMapTrick)\n            {\n                // Sometimes the first command drops, click twice with shorter delays for good measure.\n                await Click(B, 0_100, token).ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n\n                await Click(B, 0_100, token).ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n            }\n            else\n            {\n                await Click(ZL, 0_100, token).ConfigureAwait(false);\n                await Click(ZL, 1_500, token).ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n\n                await Click(ZR, 2_000, token).ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n            }\n\n            // HOME Menu\n            await Click(HOME, config.OpenHomeDelay + BaseDelay, token).ConfigureAwait(false);\n            UpdateProgressBar(action, steps);\n\n            // Navigate to Settings\n            if (config.UseTouch)\n            {\n                await Touch(0_909, 0_540, 0_050, 0, token).ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n            }\n            else\n            {\n                await Click(DDOWN, config.NavigateToSettingsDelay + BaseDelay, token)\n                    .ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n\n                for (int i = 0; i < 7; i++)\n                {\n                    await Click(DRIGHT, config.NavigateToSettingsDelay + BaseDelay, token)\n                        .ConfigureAwait(false);\n                    UpdateProgressBar(action, steps);\n                }\n            }\n\n            await Click(A, config.OpenSettingsDelay + BaseDelay, token).ConfigureAwait(false);\n            UpdateProgressBar(action, steps);\n\n            // Scroll to bottom\n            if (config.UseSetStick)\n                await SetStick(SwitchStick.LEFT, 0, -30_000, config.HoldDuration, 0_100 + BaseDelay, token).ConfigureAwait(false);\n            else\n                await PressAndHold(DDOWN, config.HoldDuration, 0_100 + BaseDelay, token).ConfigureAwait(false);\n            UpdateProgressBar(action, steps);\n\n            // Navigate to \"Date and Time\"\n            StatusUpdate(\"Navigating to \\\"Date and Time\\\"...\");\n            await Click(A, 0_300 + BaseDelay, token).ConfigureAwait(false);\n            UpdateProgressBar(action, steps);\n\n            // Hold down to overshoot Date/Time by one. DUP to recover.\n            if (config.UseOvershoot)\n            {\n                if (config.UseSetStick)\n                    await SetStick(SwitchStick.LEFT, 0, -30_000, config.SystemOvershoot, 0_100 + BaseDelay, token).ConfigureAwait(false);\n                else\n                    await PressAndHold(DDOWN, config.SystemOvershoot, 0_100 + BaseDelay, token).ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n\n                await Click(DUP, 0_500 + BaseDelay, token).ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n            }\n            else\n            {\n                for (int i = 0; i < config.SystemDownPresses; i++)\n                {\n                    await Click(DDOWN, 0_100 + BaseDelay, token).ConfigureAwait(false);\n                    UpdateProgressBar(action, steps);\n                }\n            }\n\n            // Enter Date/Time\n            await Click(A, config.Submenu + BaseDelay, token).ConfigureAwait(false);\n            UpdateProgressBar(action, steps);\n\n            // Open Date/Time settings\n            if (config.UseTouch)\n            {\n                await Touch(0_950, 0_400, 0_050, 0, token).ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n            }\n            else\n            {\n                for (int i = 0; i < 2; i++)\n                {\n                    await Click(DDOWN, 0_100 + BaseDelay, token).ConfigureAwait(false);\n                    UpdateProgressBar(action, steps);\n                }\n            }\n\n            await Click(A, config.DateChange + BaseDelay, token).ConfigureAwait(false);\n            UpdateProgressBar(action, steps);\n\n            for (int i = 0; i < config.DaysToSkip; i++)\n            {\n                await Click(DUP, 0_100 + BaseDelay, token).ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n            }\n\n            for (int i = 0; i < 6; i++)\n            {\n                await Click(DRIGHT, (i < 5 ? 0_050 : 0_100) + BaseDelay, token)\n                    .ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n            }\n\n            await Click(A, 0_150 + config.DateChange + BaseDelay, token).ConfigureAwait(false);\n            UpdateProgressBar(action, steps);\n\n            // Return to game\n            await Click(HOME, config.ReturnHomeDelay + BaseDelay, token).ConfigureAwait(false);\n            UpdateProgressBar(action, steps);\n\n            await Click(HOME, (config.DodgeSystemUpdate ? 0_500 : config.ReturnGameDelay) + BaseDelay, token).ConfigureAwait(false);\n            UpdateProgressBar(action, steps);\n\n            if (config.DodgeSystemUpdate)\n            {\n                // Attempt to dodge an update prompt.\n                await Click(DUP, 0_600 + BaseDelay, token).ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n\n                await Click(A, config.ReturnGameDelay + BaseDelay, token).ConfigureAwait(false);\n                UpdateProgressBar(action, steps);\n            }\n\n            StatusUpdate(\"Back in the game...\");\n        }\n    }\n\n    public async Task CloseGame(CancellationToken token)\n    {\n        // Close out of the game\n        StatusUpdate(\"Closing the game!\");\n        await Click(B, 0_500, token).ConfigureAwait(false);\n        await Click(HOME, 2_000, token).ConfigureAwait(false);\n        await Click(X, 1_000, token).ConfigureAwait(false);\n        await Click(A, 5_500, token).ConfigureAwait(false);\n        StatusUpdate(\"Closed out of the game!\");\n    }\n\n    public async Task StartGame(IDateAdvanceConfig config, CancellationToken token)\n    {\n        // Open game.\n        StatusUpdate(\"Starting the game!\");\n        await Click(A, 1_000, token).ConfigureAwait(false);\n\n        // Attempt to dodge an update prompt;\n        await Click(DUP, 0_600, token).ConfigureAwait(false);\n        await Click(A, 1_000, token).ConfigureAwait(false);\n\n        // Allow time for profile check if required\n        await Task.Delay(config.RelaunchDelay, token).ConfigureAwait(false);\n\n        // If they have DLC on the system and can't use it, requires an UP + A to start the game.\n        // Should be harmless otherwise since they'll be in loading screen.\n        await Click(DUP, 0_600, token).ConfigureAwait(false);\n        await Click(A, 0_600, token).ConfigureAwait(false);\n\n        // Switch Logo and game load screen\n        await Task.Delay(17_000, token).ConfigureAwait(false);\n\n        for (int i = 0; i < 20; i++)\n            await Click(A, 1_000, token).ConfigureAwait(false);\n\n        // Particularly slow switches need more time to load the overworld\n        await Task.Delay(config.ExtraOverworldWait, token).ConfigureAwait(false);\n\n        StatusUpdate(\"Back in the overworld! Refreshing the base block key pointer...\");\n        BaseBlockKeyPointer = await Connection\n            .PointerAll(BlockKeyPointer.ToArray(), token)\n            .ConfigureAwait(false);\n    }\n\n    public async Task SaveGame(IDateAdvanceConfig config, CancellationToken token)\n    {\n        StatusUpdate(\"Saving the game...\");\n        // B out in case we're in some menu.\n        for (int i = 0; i < 4; i++)\n            await Click(B, 0_500, token).ConfigureAwait(false);\n\n        // Open the menu and save.\n        await Click(X, 1_000, token).ConfigureAwait(false);\n        await Click(R, 1_000, token).ConfigureAwait(false);\n        await Click(A, 1_000, token).ConfigureAwait(false);\n        await Click(A, 1_000, token).ConfigureAwait(false);\n        await Click(A, 3_000 + config.SaveGameDelay, token).ConfigureAwait(false);\n\n        // Return to overworld.\n        for (int i = 0; i < 4; i++)\n            await Click(B, 0_500, token).ConfigureAwait(false);\n        StatusUpdate(\"Game saved!\");\n    }\n\n    private static void UpdateProgressBar(Action<int>? action, int steps) => action?.Invoke(steps);\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Discord/NotificationHandler.cs",
    "content": "using PKHeX.Core;\nusing RaidCrawler.Core.Interfaces;\nusing RaidCrawler.Core.Structures;\nusing SysBot.Base;\nusing System.Globalization;\nusing System.Text;\nusing System.Text.Json;\n\nnamespace RaidCrawler.Core.Discord;\n\npublic class NotificationHandler(IWebhookConfig config)\n{\n    private readonly HttpClient _client = new();\n    private readonly string[]? DiscordWebhooks = config.EnableNotification ? config.DiscordWebhook.Split(',') : null;\n\n    public async Task SendNotification(ITeraRaid encounter, Raid raid, RaidFilter filter, string time, IReadOnlyList<(int, int, int)> RewardsList,\n        string hexColor, string spriteName, CancellationToken token\n    )\n    {\n        if (DiscordWebhooks is null || !config.EnableNotification)\n            return;\n\n        var webhook = GenerateWebhook(encounter, raid, filter, time, RewardsList, hexColor, spriteName);\n        var content = new StringContent(JsonSerializer.Serialize(webhook), Encoding.UTF8, \"application/json\");\n        foreach (var url in DiscordWebhooks)\n            await _client.PostAsync(url.Trim(), content, token).ConfigureAwait(false);\n    }\n\n    public async Task SendErrorNotification(string error, string caption, CancellationToken token)\n    {\n        if (DiscordWebhooks is null || !config.EnableNotification)\n            return;\n\n        var instance = config.InstanceName != \"\" ? $\"RaidCrawler {config.InstanceName}\" : \"RaidCrawler\";\n        var webhook = new\n        {\n            username = instance,\n            avatar_url = \"https://www.serebii.net/scarletviolet/ribbons/mightiestmark.png\",\n            content = config.DiscordMessageContent,\n            embeds = new List<object>\n            {\n                new\n                {\n                    title = caption != \"\" ? caption : \"RaidCrawler Error\",\n                    description = error,\n                    color = 0xf7262a,\n                },\n            },\n        };\n\n        var content = new StringContent(JsonSerializer.Serialize(webhook), Encoding.UTF8, \"application/json\");\n        foreach (var url in DiscordWebhooks)\n            await _client.PostAsync(url.Trim(), content, token).ConfigureAwait(false);\n    }\n\n    public async Task SendScreenshot(ISwitchConnectionAsync nx, CancellationToken token)\n    {\n        if (DiscordWebhooks is null || !config.EnableNotification)\n            return;\n\n        var data = await nx.PixelPeek(token).ConfigureAwait(false);\n        var content = new MultipartFormDataContent();\n        var info = new\n        {\n            username = \"RaidCrawler\",\n            avatar_url = \"https://www.serebii.net/scarletviolet/ribbons/mightiestmark.png\",\n            content = \"Switch Screenshot\",\n        };\n\n        var basic_info = new StringContent(JsonSerializer.Serialize(info), Encoding.UTF8, \"application/json\");\n        content.Add(basic_info, \"payload_json\");\n        content.Add(new ByteArrayContent(data), \"screenshot.jpg\", \"screenshot.jpg\");\n        foreach (var url in DiscordWebhooks)\n            await _client.PostAsync(url.Trim(), content, token).ConfigureAwait(false);\n    }\n\n    private object GenerateWebhook(ITeraRaid encounter, Raid raid, RaidFilter filter, string time, IReadOnlyList<(int, int, int)> rewardsList, string hexColor, string spriteName)\n    {\n        var strings = GameInfo.GetStrings(\"en\");\n        var param = encounter.GetParam();\n        var blank = new PK9 { Species = encounter.Species, Form = encounter.Form };\n\n        raid.GenerateDataPK9(blank, param, encounter.Shiny, raid.Seed);\n\n        var form = Utils.GetFormString(blank.Species, blank.Form, strings);\n        var species = $\"{strings.Species[encounter.Species]}{form}\";\n        var difficulty = Difficulty(encounter.Stars, raid.IsEvent);\n        var nature = $\"{strings.Natures[(int)blank.Nature]}\";\n        var ability = $\"{strings.Ability[blank.Ability]}\";\n        var shiny = Shiny(raid.CheckIsShiny(encounter), ShinyExtensions.IsSquareShinyExist(blank));\n        var gender = GenderEmoji(blank.Gender);\n        var teratype = raid.GetTeraType(encounter);\n        var tera = $\"{strings.types[teratype]}\";\n        var teraemoji = TeraEmoji(strings.types[teratype]);\n        Span<int> _ivs = stackalloc int[6];\n        blank.GetIVs(_ivs);\n        var ivs = IVsStringEmoji(ToSpeedLast(_ivs));\n        ushort[] moves =\n        [\n            encounter.Move1,\n            encounter.Move2,\n            encounter.Move3,\n            encounter.Move4,\n        ];\n        var movestr = string.Concat(moves.Where(z => z != 0).Select(z => $\"{strings.Move[z]}ㅤ\\n\")).Trim();\n        var extramoves = string.Concat(encounter.ExtraMoves.Where(z => z != 0).Select(z => $\"{strings.Move[z]}ㅤ\\n\")).Trim();\n        var area = $\"{Areas.GetArea((int)(raid.Area - 1), raid.MapParent)}\" + (config.ToggleDen ? $\" [Den {raid.Den}]ㅤ\" : \"ㅤ\");\n        var rewards = GetRewards(rewardsList);\n        var SuccessWebHook = new\n        {\n            username = \"RaidCrawler \" + config.InstanceName,\n            avatar_url = \"https://www.serebii.net/scarletviolet/ribbons/mightiestmark.png\",\n            content = config.DiscordMessageContent,\n            embeds = new List<object>\n            {\n                new\n                {\n                    title = $\"{shiny} {species} {gender} {teraemoji}\",\n                    description = \"\",\n                    color = int.Parse(hexColor, NumberStyles.HexNumber),\n                    thumbnail = new\n                    {\n                        url = $\"https://github.com/kwsch/PKHeX/blob/master/PKHeX.Drawing.PokeSprite/Resources/img/Artwork%20Pokemon%20Sprites/a{spriteName}.png?raw=true\",\n                    },\n                    fields = new List<object>\n                    {\n                        new\n                        {\n                            name = \"Difficultyㅤㅤㅤㅤㅤㅤ\",\n                            value = difficulty,\n                            inline = true,\n                        },\n                        new\n                        {\n                            name = \"Natureㅤㅤㅤ\",\n                            value = nature,\n                            inline = true,\n                        },\n                        new\n                        {\n                            name = \"Ability\",\n                            value = ability,\n                            inline = true,\n                        },\n                        new\n                        {\n                            name = \"IVs\",\n                            value = ivs,\n                            inline = true,\n                        },\n                        new\n                        {\n                            name = \"Moves\",\n                            value = movestr,\n                            inline = true,\n                        },\n                        new\n                        {\n                            name = \"Extra Moves\",\n                            value = extramoves.Length == 0 ? \"None\" : extramoves,\n                            inline = true,\n                        },\n                        new\n                        {\n                            name = \"Location󠀠󠀠󠀠\",\n                            value = area,\n                            inline = true,\n                        },\n                        new\n                        {\n                            name = \"Search Time󠀠󠀠󠀠\",\n                            value = time,\n                            inline = true,\n                        },\n                        new\n                        {\n                            name = \"Filter Name\",\n                            value = filter.Name,\n                            inline = true,\n                        },\n                        new\n                        {\n                            name = rewards != \"\" ? \"Rewards\" : \"\",\n                            value = rewards,\n                            inline = false,\n                        },\n                    },\n                },\n            },\n        };\n        return SuccessWebHook;\n    }\n\n    private string Difficulty(byte stars, bool isEvent)\n    {\n        string emoji = GetGlyph(stars, isEvent);\n        return string.Concat(Enumerable.Repeat(emoji, stars));\n    }\n\n    private string GetGlyph(byte stars, bool isEvent)\n    {\n        if (!config.EnableEmoji)\n            return \":star:\";\n        if (stars == 7)\n            return config.Emoji[\"7 Star\"];\n        if (isEvent)\n            return config.Emoji[\"Event Star\"];\n        return config.Emoji[\"Star\"];\n    }\n\n    private string GenderEmoji(int genderInt) => genderInt switch\n    {\n        (int)Gender.Male => config.EnableEmoji ? config.Emoji[\"Male\"] : \":male_sign:\",\n        (int)Gender.Female => config.EnableEmoji ? config.Emoji[\"Female\"] : \":female_sign:\",\n        _ => \"\",\n    };\n\n    private string GetRewards(IReadOnlyList<(int, int, int)> rewards)\n    {\n        string s = string.Empty;\n        int abilitycapsule = 0;\n        int bottlecap = 0;\n        int abilitypatch = 0;\n        int sweetherba = 0;\n        int saltyherba = 0;\n        int sourherba = 0;\n        int bitterherba = 0;\n        int spicyherba = 0;\n\n        for (int i = 0; i < rewards.Count; i++)\n        {\n            switch (rewards[i].Item1)\n            {\n                case 0645: abilitycapsule++; break;\n                case 0795: bottlecap++; break;\n                case 1606: abilitypatch++; break;\n                case 1904: sweetherba++; break;\n                case 1905: saltyherba++; break;\n                case 1906: sourherba++; break;\n                case 1907: bitterherba++; break;\n                case 1908: spicyherba++; break;\n            }\n        }\n\n        bool emoji = config.EnableEmoji;\n        s += (abilitycapsule <= 0) ? \"\" : (emoji ? $\"`{abilitycapsule}`{config.Emoji[\"Ability Capsule\"]} \" : $\"`{abilitycapsule}` Ability Capsule  \");\n        s += (bottlecap <= 0)      ? \"\" : (emoji ? $\"`{bottlecap}`{config.Emoji[\"Bottle Cap\"]} \"           : $\"`{bottlecap}` Bottle Cap  \");\n        s += (abilitypatch <= 0)   ? \"\" : (emoji ? $\"`{abilitypatch}`{config.Emoji[\"Ability Patch\"]} \"     : $\"`{abilitypatch}` Ability Patch  \");\n        s += (sweetherba <= 0)     ? \"\" : (emoji ? $\"`{sweetherba}`{config.Emoji[\"Sweet Herba\"]} \"         : $\"`{sweetherba}` Sweet Herba  \");\n        s += (saltyherba <= 0)     ? \"\" : (emoji ? $\"`{saltyherba}`{config.Emoji[\"Salty Herba\"]} \"         : $\"`{saltyherba}` Salty Herba  \");\n        s += (sourherba <= 0)      ? \"\" : (emoji ? $\"`{sourherba}`{config.Emoji[\"Sour Herba\"]} \"           : $\"`{sourherba}` Sour Herba  \");\n        s += (bitterherba <= 0)    ? \"\" : (emoji ? $\"`{bitterherba}`{config.Emoji[\"Bitter Herba\"]} \"       : $\"`{bitterherba}` Bitter Herba  \");\n        s += (spicyherba <= 0)     ? \"\" : (emoji ? $\"`{spicyherba}`{config.Emoji[\"Spicy Herba\"]} \"         : $\"`{spicyherba}` Spicy Herba  \");\n        return s;\n    }\n\n    private string IVsStringEmoji(ReadOnlySpan<int> ivs)\n    {\n        string s = string.Empty;\n        bool emoji = config.EnableEmoji;\n        bool verbose = config.VerboseIVs;\n        var stats = new[] { \"HP\", \"Atk\", \"Def\", \"SpA\", \"SpD\", \"Spe\" };\n        string[] iv0 =\n        [\n            config.Emoji[\"Health 0\"],\n            config.Emoji[\"Attack 0\"],\n            config.Emoji[\"Defense 0\"],\n            config.Emoji[\"SpAttack 0\"],\n            config.Emoji[\"SpDefense 0\"],\n            config.Emoji[\"Speed 0\"],\n        ];\n        string[] iv31 =\n        [\n            config.Emoji[\"Health 31\"],\n            config.Emoji[\"Attack 31\"],\n            config.Emoji[\"Defense 31\"],\n            config.Emoji[\"SpAttack 31\"],\n            config.Emoji[\"SpDefense 31\"],\n            config.Emoji[\"Speed 31\"],\n        ];\n        for (int i = 0; i < ivs.Length; i++)\n        {\n            switch (config.IVsStyle)\n            {\n                case 0:\n                {\n                    s += ivs[i] switch\n                    {\n                        00 => emoji ? $\"{iv0 [i]}{(verbose ? \" \" + stats[i] : string.Empty)}\" : $\"`✓`{(verbose ? \" \" + stats[i] : string.Empty)}\",\n                        31 => emoji ? $\"{iv31[i]}{(verbose ? \" \" + stats[i] : string.Empty)}\" : $\"`✓`{(verbose ? \" \" + stats[i] : string.Empty)}\",\n                        _  =>         $\"`{ivs[i]}`{(verbose ? \" \" + stats[i] : string.Empty)}\",\n                    };\n\n                    if (i < 5)\n                        s += \" / \";\n                    break;\n                }\n                case 1:\n                {\n                    s += $\"`{ivs[i]:D}`{(verbose ? \" \" + stats[i] : string.Empty)}\";\n                    if (i < 5)\n                        s += \" / \";\n                    break;\n                }\n                case 2:\n                {\n                    s += $\"{ivs[i]:D}{(verbose ? \" \" + stats[i] : string.Empty)}\";\n                    if (i < 5)\n                        s += \" / \";\n                    break;\n                }\n            }\n        }\n        return s;\n    }\n\n    private string Shiny(bool shiny, bool square)\n    {\n        if (!shiny)\n            return \"\";\n\n        bool emoji = config.EnableEmoji;\n        if (square)\n            return $\"{(emoji ? config.Emoji[\"Square Shiny\"] : \"Square shiny\")}\";\n        return $\"{(emoji ? config.Emoji[\"Shiny\"] : \"Shiny\")}\";\n    }\n\n    private static int[] ToSpeedLast(ReadOnlySpan<int> ivs)\n    {\n        var res = new int[6];\n        res[0] = ivs[0];\n        res[1] = ivs[1];\n        res[2] = ivs[2];\n        res[3] = ivs[4];\n        res[4] = ivs[5];\n        res[5] = ivs[3];\n        return res;\n    }\n\n    private string TeraEmoji(string tera) => config.EnableEmoji ? config.Emoji[tera] : tera;\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Extensions/EncounterExtensions.cs",
    "content": "using PKHeX.Core;\n\nnamespace RaidCrawler.Core.Structures;\n\npublic static class EncounterExtensions\n{\n    public static List<(int, int, int)> GetRewards(this ITeraRaid encounter, RaidContainer container, Raid raid, int sandwich_boost) => encounter switch\n    {\n        TeraDistribution d => TeraDistribution.GetRewards(d, raid.Seed, raid.GetTeraType(d), container.DeliveryRaidFixedRewards, container.DeliveryRaidLotteryRewards, sandwich_boost),\n        TeraMight m        => TeraMight.GetRewards(m, raid.Seed, raid.GetTeraType(m), container.DeliveryRaidFixedRewards, container.DeliveryRaidLotteryRewards, sandwich_boost),\n        TeraEncounter e    => TeraEncounter.GetRewards(e, raid.Seed, raid.GetTeraType(e), container.BaseFixedRewards, container.BaseLotteryRewards, sandwich_boost),\n        _ => throw new NotImplementedException($\"Unknown encounter for rewards: {encounter.GetType()}\"),\n    };\n\n    public static GenerateParam9 GetParam(this ITeraRaid encounter)\n    {\n        var gender = GetGender(encounter);\n        if (encounter is TeraMight { Entity: { } em })\n        {\n            return new GenerateParam9(em.Species, gender, em.FlawlessIVCount, 1, 0, 0,\n                em.ScaleType, em.Scale, em.Ability, em.Shiny, em.Nature, em.IVs);\n        }\n        if (encounter is TeraDistribution dist)\n        {\n            return new GenerateParam9(dist.Species, gender, dist.FlawlessIVCount, 1, 0, 0,\n                SizeType9.RANDOM, 0, dist.Ability, dist.Shiny, dist.Nature, dist.IVs);\n        }\n\n        return new GenerateParam9(encounter.Species, gender, encounter.FlawlessIVCount, 1, 0, 0,\n            SizeType9.RANDOM, 0, encounter.Ability, encounter.Shiny);\n    }\n\n    private static byte GetGender(ISpeciesForm enc) => enc switch\n    {\n        TeraMight { Entity.Gender: < 2 } tm => tm.Entity.Gender switch\n        {\n            0 => PersonalInfo.RatioMagicMale,\n            1 => PersonalInfo.RatioMagicFemale,\n            _ => PersonalInfo.RatioMagicGenderless,\n        },\n        _ => PersonalTable.SV.GetFormEntry(enc.Species, enc.Form).Gender,\n    };\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Extensions/RaidExtensions.cs",
    "content": "using PKHeX.Core;\nusing pkNX.Structures.FlatBuffers.Gen9;\n\nnamespace RaidCrawler.Core.Structures;\n\npublic static class RaidExtensions\n{\n    public static ITeraRaid? GetTeraEncounter(this Raid raid, RaidContainer container, int progress, int id)\n    {\n        if (raid.IsEvent)\n            return raid.GetDistributionEncounter(container, progress, raid.Flags == 3, id);\n        return raid.MapParent switch\n        {\n            TeraRaidMapParent.Paldea => raid.GetEncounterBase(container, progress, raid.IsBlack),\n            TeraRaidMapParent.Kitakami => raid.GetEncounterKitakami(container, progress, raid.IsBlack),\n            _ => raid.GetEncounterBlueberry(container, progress, raid.IsBlack),\n        };\n    }\n\n    public static ITeraRaid? GetEncounterBase(this Raid raid, RaidContainer container, int progress, bool isBlack)\n    {\n        var clone = new Xoroshiro128Plus(raid.Seed);\n        var starCount = isBlack\n            ? 6\n            : raid.GetStarCount((uint)clone.NextInt(100), progress, false);\n        var total =\n            container.Game == \"Scarlet\"\n                ? GetRateTotalBaseSL(starCount)\n                : GetRateTotalBaseVL(starCount);\n        var speciesRoll = clone.NextInt((ulong)total);\n        if (container.GemTeraRaidsBase is not null)\n        {\n            foreach (TeraEncounter enc in container.GemTeraRaidsBase)\n            {\n                if (enc.Stars != starCount)\n                    continue;\n\n                var minimum =\n                    container.Game == \"Scarlet\"\n                        ? enc.Entity.RandRateMinScarlet\n                        : enc.Entity.RandRateMinViolet;\n                if (minimum >= 0 && (uint)((int)speciesRoll - minimum) < enc.Entity.RandRate)\n                    return enc;\n            }\n        }\n        return null;\n    }\n\n    public static ITeraRaid? GetEncounterKitakami(this Raid raid, RaidContainer container, int progress, bool isBlack)\n    {\n        var clone = new Xoroshiro128Plus(raid.Seed);\n        var starCount = isBlack\n            ? 6\n            : raid.GetStarCount((uint)clone.NextInt(100), progress, false);\n        var total =\n            container.Game == \"Scarlet\"\n                ? GetRateTotalKitakamiSL(starCount)\n                : GetRateTotalKitakamiVL(starCount);\n        var speciesRoll = clone.NextInt((ulong)total);\n        if (container.GemTeraRaidsKitakami is not null)\n        {\n            foreach (TeraEncounter enc in container.GemTeraRaidsKitakami)\n            {\n                if (enc.Stars != starCount)\n                    continue;\n\n                var minimum =\n                    container.Game == \"Scarlet\"\n                        ? enc.Entity.RandRateMinScarlet\n                        : enc.Entity.RandRateMinViolet;\n                if (minimum >= 0 && (uint)((int)speciesRoll - minimum) < enc.Entity.RandRate)\n                    return enc;\n            }\n        }\n        return null;\n    }\n\n    public static ITeraRaid? GetEncounterBlueberry(this Raid raid, RaidContainer container, int progress, bool isBlack)\n    {\n        var clone = new Xoroshiro128Plus(raid.Seed);\n        var starCount = isBlack\n            ? 6\n            : raid.GetStarCount((uint)clone.NextInt(100), progress, false);\n        var total = GetRateTotalBlueberry(starCount);\n        var speciesRoll = clone.NextInt((ulong)total);\n        if (container.GemTeraRaidsBlueberry is not null)\n        {\n            foreach (TeraEncounter enc in container.GemTeraRaidsBlueberry)\n            {\n                if (enc.Stars != starCount)\n                    continue;\n\n                var minimum =\n                    container.Game == \"Scarlet\"\n                        ? enc.Entity.RandRateMinScarlet\n                        : enc.Entity.RandRateMinViolet;\n                if (minimum >= 0 && (uint)((int)speciesRoll - minimum) < enc.Entity.RandRate)\n                    return enc;\n            }\n        }\n        return null;\n    }\n\n    public static ITeraRaid? GetDistributionEncounter(this Raid raid, RaidContainer container, int progress, bool isFixed, int groupID)\n    {\n        if (progress < 0)\n            return null;\n\n        if (!isFixed)\n        {\n            if (container.DistTeraRaids == null)\n                return null;\n\n            foreach (TeraDistribution enc in container.DistTeraRaids)\n            {\n                if (enc.DeliveryGroupID != groupID)\n                    continue;\n\n                var total =\n                    container.Game == \"Scarlet\"\n                        ? enc.Entity.GetRandRateTotalScarlet(progress)\n                        : enc.Entity.GetRandRateTotalViolet(progress);\n                if (total > 0)\n                {\n                    var rand = new Xoroshiro128Plus(raid.Seed);\n                    _ = rand.NextInt(100);\n                    var val = rand.NextInt(total);\n                    var min =\n                        container.Game == \"Scarlet\"\n                            ? enc.Entity.GetRandRateMinScarlet(progress)\n                            : enc.Entity.GetRandRateMinViolet(progress);\n                    if ((uint)((int)val - min) < enc.RandRate)\n                        return enc;\n                }\n            }\n        }\n        else\n        {\n            if (container.MightTeraRaids == null)\n                return null;\n\n            foreach (TeraMight enc in container.MightTeraRaids)\n            {\n                if (enc.DeliveryGroupID != groupID)\n                    continue;\n\n                var total =\n                    container.Game == \"Scarlet\"\n                        ? enc.Entity.GetRandRateTotalScarlet(progress)\n                        : enc.Entity.GetRandRateTotalViolet(progress);\n                if (total > 0)\n                    return enc;\n            }\n        }\n        return null;\n    }\n\n    public static (int delivery, int encounter) ReadAllRaids(this RaidContainer container, byte[] data, int storyPrg, int eventPrg, int boost, TeraRaidMapParent type)\n    {\n        var dbgFile = $\"raid_dbg_{type}.txt\";\n        if (File.Exists(dbgFile))\n            File.Delete(dbgFile);\n\n        var count = data.Length / Raid.SIZE;\n        List<int> possibleGroups = [];\n        if (container.DistTeraRaids is not null)\n        {\n            foreach (TeraDistribution e in container.DistTeraRaids)\n            {\n                if (TeraDistribution.AvailableInGame(e.Entity, container.Game) && !possibleGroups.Contains(e.DeliveryGroupID))\n                    possibleGroups.Add(e.DeliveryGroupID);\n            }\n        }\n\n        if (container.MightTeraRaids is not null)\n        {\n            foreach (TeraMight e in container.MightTeraRaids)\n            {\n                if (TeraMight.AvailableInGame(e.Entity, container.Game) && !possibleGroups.Contains(e.DeliveryGroupID))\n                    possibleGroups.Add(e.DeliveryGroupID);\n            }\n        }\n\n        (int delivery, int encounter) failed = (0, 0);\n        List<Raid> newRaids = [];\n        List<ITeraRaid> newTera = [];\n        List<List<(int, int, int)>> newRewards = [];\n        int eventCount = 0;\n        for (int i = 0; i < count; i++)\n        {\n            var slice = data.AsSpan(i * Raid.SIZE, Raid.SIZE);\n            var raid = new Raid(slice, type);\n\n            if (raid.Den == 0)\n            {\n                eventCount++;\n                continue;\n            }\n\n            if (!raid.IsValid)\n                continue;\n\n            var progress = raid.IsEvent ? eventPrg : storyPrg;\n            var raidDeliveryGroupID = -1;\n            try\n            {\n                raidDeliveryGroupID = raid.GetDeliveryGroupID(container.DeliveryRaidPriority, possibleGroups, eventCount);\n            }\n            catch (Exception ex)\n            {\n                var extra = $\"Group ID: {raidDeliveryGroupID}\\nisFixed: {raid.Flags == 3}\\nisBlack: {raid.IsBlack}\\nisEvent: {raid.IsEvent}\\n\\n\";\n                var msg = $\"{ex.Message}\\nDen: {raid.Den}\\nProgress: {progress}\\nDifficulty: {raid.Difficulty}\\n{extra}\";\n                File.AppendAllText(dbgFile, msg);\n                failed.delivery++;\n                continue;\n            }\n\n            var encounter = raid.GetTeraEncounter(container, progress, raidDeliveryGroupID);\n            if (encounter is null)\n            {\n                var extra = $\"Group ID: {raidDeliveryGroupID}\\nisFixed: {raid.Flags == 3}\\nisBlack: {raid.IsBlack}\\nisEvent: {raid.IsEvent}\\n\\n\";\n                var msg = $\"No encounters found.\\nDen: {raid.Den}\\nProgress: {progress}\\nDifficulty: {raid.Difficulty}\\n{extra}\";\n                File.AppendAllText(dbgFile, msg);\n                failed.encounter++;\n                continue;\n            }\n\n            if (raid.IsEvent)\n                eventCount++;\n\n            newRaids.Add(raid);\n            newTera.Add(encounter);\n            newRewards.Add(encounter.GetRewards(container, raid, boost));\n        }\n\n        container.SetRaids(newRaids);\n        container.SetEncounters(newTera);\n        container.SetRewards(newRewards);\n        return failed;\n    }\n\n    public static bool CheckIsShiny(this Raid raid, ITeraRaid? enc)\n    {\n        if (enc is null)\n            return raid.IsShiny;\n\n        if (enc.Shiny == Shiny.Never)\n            return false;\n\n        if (enc.Shiny.IsShiny())\n            return true;\n        return raid.IsShiny;\n    }\n\n    public static int GetTeraType(this Raid raid, ITeraRaid? encounter)\n    {\n        if (encounter is null)\n            return raid.TeraType;\n\n        if (encounter is TeraDistribution { Entity: ITeraRaid9 d })\n            return (int)d.TeraType > 1 ? (int)d.TeraType - 2 : raid.TeraType;\n\n        if (encounter is TeraMight { Entity: ITeraRaid9 m })\n            return (int)m.TeraType > 1 ? (int)m.TeraType - 2 : raid.TeraType;\n\n        return raid.TeraType;\n    }\n\n    public static int GetStarCount(this Raid _, uint difficulty, int progress, bool isBlack)\n    {\n        if (isBlack)\n            return 6;\n\n        return GetStarCount(difficulty, progress);\n    }\n\n    private static int GetStarCount(uint difficulty, int progress) => progress switch\n    {\n        0 => difficulty switch\n        {\n            > 80 => 2,\n            _ => 1,\n        },\n        1 => difficulty switch\n        {\n            > 70 => 3,\n            > 30 => 2,\n            _ => 1,\n        },\n        2 => difficulty switch\n        {\n            > 70 => 4,\n            > 40 => 3,\n            > 20 => 2,\n            _ => 1,\n        },\n        3 => difficulty switch\n        {\n            > 75 => 5,\n            > 40 => 4,\n            _ => 3,\n        },\n        4 => difficulty switch\n        {\n            > 70 => 5,\n            > 30 => 4,\n            _ => 3,\n        },\n        _ => 1,\n    };\n\n    public static int GetDeliveryGroupID(this Raid raid, DeliveryGroupID ids, List<int> possibleGroups, int eventCount)\n    {\n        if (!raid.IsEvent)\n            return -1;\n\n        // WW/IL re-run has DeliveryGroupID = 3, having a Might7 alongside it conflicts.\n        var groups = ids.GroupID;\n\n        for (int i = 0; i < groups.Table_Length; i++)\n        {\n            var count = groups.Table(i);\n            if (!possibleGroups.Contains(i + 1))\n                continue;\n            if (eventCount < count)\n                return i + 1;\n            eventCount -= count;\n        }\n        throw new Exception(\"Found event out of priority range.\");\n    }\n\n    private static short GetRateTotalBaseSL(int star) => star switch\n    {\n        1 => 5800,\n        2 => 5300,\n        3 => 7400,\n        4 => 8800, // Scarlet has one more encounter.\n        5 => 9100,\n        6 => 6500,\n        _ => 0,\n    };\n\n    private static short GetRateTotalBaseVL(int star) => star switch\n    {\n        1 => 5800,\n        2 => 5300,\n        3 => 7400,\n        4 => 8700, // Violet has one less encounter.\n        5 => 9100,\n        6 => 6500,\n        _ => 0,\n    };\n\n    private static short GetRateTotalKitakamiSL(int star) => star switch\n    {\n        1 => 1500,\n        2 => 1500,\n        3 => 2500,\n        4 => 2100,\n        5 => 2250,\n        6 => 2475, // Scarlet has one less encounter\n        _ => 0,\n    };\n\n    private static short GetRateTotalKitakamiVL(int star) => star switch\n    {\n        1 => 1500,\n        2 => 1500,\n        3 => 2500,\n        4 => 2100,\n        5 => 2250,\n        6 => 2574, // Violet has one more encounter\n        _ => 0,\n    };\n\n    private static short GetRateTotalBlueberry(int star) => star switch\n    {\n        // Both games have the same number of encounters\n        1 => 1100,\n        2 => 1100,\n        3 => 2000,\n        4 => 1900,\n        5 => 2100,\n        6 => 2600,\n        _ => 0,\n    };\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Interfaces/IDateAdvanceConfig.cs",
    "content": "namespace RaidCrawler.Core.Interfaces;\n\npublic interface IDateAdvanceConfig\n{\n    bool UseTouch { get; set; }\n    bool UseOvershoot { get; set; }\n    bool DodgeSystemUpdate { get; set; }\n    bool UseSetStick { get; set; }\n    bool UseMapTrick { get; set; }\n    bool ZyroMethod { get; set; }\n\n    int OpenHomeDelay { get; set; }\n    int NavigateToSettingsDelay { get; set; }\n    int OpenSettingsDelay { get; set; }\n    int HoldDuration { get; set; }\n    int SystemDownPresses { get; set; }\n    int SystemOvershoot { get; set; }\n    int Submenu { get; set; }\n    int DateChange { get; set; }\n    int DaysToSkip { get; set; }\n    int ReturnHomeDelay { get; set; }\n    int ReturnGameDelay { get; set; }\n    int BaseDelay { get; set; }\n    int SaveGameDelay { get; set; }\n    int RelaunchDelay { get; set; }\n    int ExtraOverworldWait { get; set; }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Interfaces/IWebhookConfig.cs",
    "content": "using SysBot.Base;\n\nnamespace RaidCrawler.Core.Interfaces;\n\npublic interface IWebhookConfig\n{\n    SwitchProtocol Protocol { get; set; }\n    bool EnableNotification { get; set; }\n    bool ToggleDen { get; set; }\n    string InstanceName { get; set; }\n    string DiscordWebhook { get; set; }\n    string DiscordMessageContent { get; set; }\n\n    bool EnableEmoji { get; set; }\n    Dictionary<string, string> Emoji { get; set; }\n\n    bool VerboseIVs { get; set; }\n    int IVsStyle { get; set; }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/RaidCrawler.Core.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <ImplicitUsings>enable</ImplicitUsings>\n\t<Platforms>x64</Platforms>\n  </PropertyGroup>\n\n  <ItemGroup>\n\t<PackageReference Include=\"FlatSharp.Compiler\" Version=\"7.4.0\">\n\t  <PrivateAssets>all</PrivateAssets>\n\t  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n\t</PackageReference>\n\t<PackageReference Include=\"FlatSharp.Runtime\" Version=\"7.4.0\" />\n    <PackageReference Include=\"LibUsbDotNet\" Version=\"2.2.29\" />\n    <PackageReference Include=\"PKHeX.Core\" Version=\"25.6.9\" />\n\t<Reference Include=\"SysBot.Base\">\n\t  <HintPath>deps\\SysBot.Base.dll</HintPath>\n\t</Reference>\n\t<FlatSharpSchema Include=\"Schemas\\*.fbs\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Remove=\"Resources\\Base\\den_locations_base.json\" />\n    <None Remove=\"Resources\\Base\\paldea.png\" />\n    <None Remove=\"Resources\\Base\\raid_enemy_01_array.bin\" />\n    <None Remove=\"Resources\\Base\\raid_enemy_02_array.bin\" />\n    <None Remove=\"Resources\\Base\\raid_enemy_03_array.bin\" />\n    <None Remove=\"Resources\\Base\\raid_enemy_04_array.bin\" />\n    <None Remove=\"Resources\\Base\\raid_enemy_05_array.bin\" />\n    <None Remove=\"Resources\\Base\\raid_enemy_06_array.bin\" />\n    <None Remove=\"Resources\\Base\\raid_fixed_reward_item_array.json\" />\n    <None Remove=\"Resources\\Base\\raid_lottery_reward_item_array.json\" />\n    <None Remove=\"Resources\\Blueberry\\blueberry.png\" />\n    <None Remove=\"Resources\\Blueberry\\den_locations_blueberry.json\" />\n    <None Remove=\"Resources\\Blueberry\\su2_raid_enemy_01_array.bin\" />\n    <None Remove=\"Resources\\Blueberry\\su2_raid_enemy_02_array.bin\" />\n    <None Remove=\"Resources\\Blueberry\\su2_raid_enemy_03_array.bin\" />\n    <None Remove=\"Resources\\Blueberry\\su2_raid_enemy_04_array.bin\" />\n    <None Remove=\"Resources\\Blueberry\\su2_raid_enemy_05_array.bin\" />\n    <None Remove=\"Resources\\Blueberry\\su2_raid_enemy_06_array.bin\" />\n    <None Remove=\"Resources\\Kitakami\\den_locations_kitakami.json\" />\n    <None Remove=\"Resources\\Kitakami\\kitakami.png\" />\n    <None Remove=\"Resources\\Kitakami\\su1_raid_enemy_01_array.bin\" />\n    <None Remove=\"Resources\\Kitakami\\su1_raid_enemy_02_array.bin\" />\n    <None Remove=\"Resources\\Kitakami\\su1_raid_enemy_03_array.bin\" />\n    <None Remove=\"Resources\\Kitakami\\su1_raid_enemy_04_array.bin\" />\n    <None Remove=\"Resources\\Kitakami\\su1_raid_enemy_05_array.bin\" />\n    <None Remove=\"Resources\\Kitakami\\su1_raid_enemy_06_array.bin\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <EmbeddedResource Include=\"Resources\\Base\\den_locations_base.json\" />\n    <EmbeddedResource Include=\"Resources\\Base\\paldea.png\" />\n    <EmbeddedResource Include=\"Resources\\Base\\raid_enemy_01_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Base\\raid_enemy_02_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Base\\raid_enemy_03_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Base\\raid_enemy_04_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Base\\raid_enemy_05_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Base\\raid_enemy_06_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Base\\raid_fixed_reward_item_array.json\" />\n    <EmbeddedResource Include=\"Resources\\Base\\raid_lottery_reward_item_array.json\" />\n    <EmbeddedResource Include=\"Resources\\Blueberry\\blueberry.png\" />\n    <EmbeddedResource Include=\"Resources\\Blueberry\\den_locations_blueberry.json\" />\n    <EmbeddedResource Include=\"Resources\\Blueberry\\su2_raid_enemy_01_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Blueberry\\su2_raid_enemy_02_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Blueberry\\su2_raid_enemy_03_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Blueberry\\su2_raid_enemy_04_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Blueberry\\su2_raid_enemy_05_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Blueberry\\su2_raid_enemy_06_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Kitakami\\den_locations_kitakami.json\" />\n    <EmbeddedResource Include=\"Resources\\Kitakami\\kitakami.png\" />\n    <EmbeddedResource Include=\"Resources\\Kitakami\\su1_raid_enemy_01_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Kitakami\\su1_raid_enemy_02_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Kitakami\\su1_raid_enemy_03_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Kitakami\\su1_raid_enemy_04_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Kitakami\\su1_raid_enemy_05_array.bin\" />\n    <EmbeddedResource Include=\"Resources\\Kitakami\\su1_raid_enemy_06_array.bin\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "RaidCrawler.Core/Resources/Base/den_locations_base.json",
    "content": "{\n  \"1-1-1\": [ 2845.467, 36.614, -1038.485 ],\n  \"1-1-2\": [ 2843.5623, 50.538624, -1155.899 ],\n  \"1-1-3\": [ 2995.64, 50.029, -1044.8 ],\n  \"1-1-4\": [ 3026.123, 59.19, -863.263 ],\n  \"1-1-5\": [ 3027.5466, 47.98538, -828.203 ],\n  \"1-1-6\": [ 2706.321, 38.522, -897.694 ],\n  \"1-1-7\": [ 2756.0642, 53.07718, -947.225 ],\n  \"1-1-8\": [ 2939.2195, 51.645695, -890.802 ],\n  \"1-1-9\": [ 2901.67, 43.51155, -956.14 ],\n  \"1-1-10\": [ 2758.1775, 28.147131, -885.512 ],\n  \"1-1-11\": [ 2695.9585, 74.89077, -1059.758 ],\n  \"4-1-1\": [ 1899.0006, 131.19034, -1733.894 ],\n  \"4-1-2\": [ 1769.4475, 170.525, -1850.895 ],\n  \"4-1-3\": [ 1790.6346, 170.37459, -1970.455 ],\n  \"4-1-4\": [ 1637.4147, 150.9245, -1935.294 ],\n  \"4-1-5\": [ 1553.4471, 102.529, -1471.282 ],\n  \"4-1-6\": [ 1835.2953, 119.064, -1423.519 ],\n  \"4-1-7\": [ 1629.2001, 123.859, -1500.295 ],\n  \"4-1-8\": [ 1640.544, 122.431, -1662.441 ],\n  \"4-1-9\": [ 1475.2063, 124.439, -1912.936 ],\n  \"4-1-10\": [ 1812.5724, 137, -1500.554 ],\n  \"4-1-11\": [ 1771.2521, 100.215, -1351.323 ],\n  \"4-1-12\": [ 1982.5543, 125.65, -1594.889 ],\n  \"5-1-1\": [ 1866.6323, 123.882, -1160.349 ],\n  \"5-1-2\": [ 2002.1222, 122.804, -1165.878 ],\n  \"5-1-3\": [ 2141.4495, 154.78429, -1306.902 ],\n  \"5-1-4\": [ 1913.426, 102.891, -1263.081 ],\n  \"5-1-5\": [ 1703.3937, 100.295, -1271.364 ],\n  \"5-1-6\": [ 1513.5747, 102.454, -1339.542 ],\n  \"5-1-7\": [ 1379.3215, 99.85946, -1414.994 ],\n  \"5-1-8\": [ 1158.9136, 104.006, -1401.035 ],\n  \"5-1-9\": [ 1356.9264, 125.62, -1445.842 ],\n  \"5-1-10\": [ 1118.2214, 124.987, -1513.141 ],\n  \"5-1-11\": [ 1385.0574, 182.036, -1206.406 ],\n  \"5-1-12\": [ 1493.3928, 137.195, -1212.87 ],\n  \"5-1-13\": [ 1571.0824, 119.819, -1123.577 ],\n  \"5-1-14\": [ 1657.7124, 123.919716, -1120.022 ],\n  \"5-1-15\": [ 1757.7255, 119.836, -1176.093 ],\n  \"5-1-16\": [ 1897.7378, 77.31867, -1010.904 ],\n  \"5-1-17\": [ 1933.3049, 62.684, -864.692 ],\n  \"5-1-18\": [ 1817.5621, 50.726524, -1021.676 ],\n  \"5-1-19\": [ 1712.4163, 51.856, -984.328 ],\n  \"5-1-20\": [ 1741.8289, 27.366, -908.355 ],\n  \"5-1-21\": [ 2310.3599, 102.35688, -867.754 ],\n  \"6-1-1\": [ 1216.1168, 439.182, -1256.351 ],\n  \"6-1-2\": [ 1135.6335, 408.106, -1138.885 ],\n  \"6-1-3\": [ 1011.4375, 324.1062, -1120.552 ],\n  \"6-1-4\": [ 793.2703, 304.927, -958.951 ],\n  \"6-1-5\": [ 678.807, 303.461, -1164.414 ],\n  \"6-1-6\": [ 851.7057, 300.354, -1259.222 ],\n  \"6-1-7\": [ 697.38544, 289.631, -1281.583 ],\n  \"6-1-8\": [ 1251.8801, 376.138, -1133.998 ],\n  \"6-1-9\": [ 757.57587, 277.555, -1449.904 ],\n  \"6-1-10\": [ 704.53284, 49.696716, -1508.669 ],\n  \"6-1-11\": [ 618.2202, 30.289415, -1322.722 ],\n  \"7-1-1\": [ 3260.4072, 139.058, -1666.307 ],\n  \"7-1-2\": [ 3164.0479, 117.136, -1504.806 ],\n  \"7-1-3\": [ 2902.9255, 126.495, -1408.005 ],\n  \"7-1-4\": [ 3300.0713, 100.29469, -1387.432 ],\n  \"7-1-5\": [ 3395.081, 301.49, -1423.474 ],\n  \"7-1-6\": [ 3611.139, 313.481, -1467.221 ],\n  \"7-1-7\": [ 3639.874, 295.442, -1282.592 ],\n  \"7-1-8\": [ 2745.1975, 89.859, -1134.795 ],\n  \"7-1-9\": [ 2726.992, 126.88671, -1355.929 ],\n  \"7-1-10\": [ 3134.3804, 84.294914, -1131.999 ],\n  \"7-1-11\": [ 3096.0142, 97.01546, -960.987 ],\n  \"7-1-12\": [ 3232.408, 60.313, -958.541 ],\n  \"7-1-13\": [ 3220.125, 50.347, -1204.109 ],\n  \"8-1-1\": [ 2789.0913, 118.99999, -1643.126 ],\n  \"8-1-2\": [ 2705.5635, 100.009, -1768.12 ],\n  \"8-1-3\": [ 2827.2507, 110.617, -1629.134 ],\n  \"8-1-4\": [ 2844.7065, 116.506, -1647.88 ],\n  \"8-1-5\": [ 2897.6675, 135.298, -1628.299 ],\n  \"8-1-6\": [ 2938.5251, 119.78288, -1624.612 ],\n  \"8-1-7\": [ 2870.8196, 149.477, -1748.421 ],\n  \"8-1-8\": [ 2857.5256, 153.582, -1713.734 ],\n  \"8-1-9\": [ 2945.535, 144.44276, -1706.932 ],\n  \"8-1-10\": [ 2778.236, 108.903, -1815.592 ],\n  \"8-1-11\": [ 3044.518, 153.905, -1805.803 ],\n  \"8-1-12\": [ 3112.402, 132.59032, -1872.252 ],\n  \"8-1-13\": [ 3156.5232, 100.069, -1759.778 ],\n  \"8-1-14\": [ 3329.499, 159.417, -1927.745 ],\n  \"8-1-15\": [ 3119.92, 110.42, -1934.241 ],\n  \"8-1-16\": [ 3227.864, 160.062, -1981.746 ],\n  \"8-1-17\": [ 3450.6865, 156.95605, -1868.286 ],\n  \"8-1-18\": [ 3603.3108, 159.98636, -1845 ],\n  \"8-1-19\": [ 3543.5562, 125.17, -1749.021 ],\n  \"8-1-20\": [ 3440.8494, 114.854, -1718.778 ],\n  \"9-1-1\": [ 1136.7812, 150.49757, -2016.167 ],\n  \"9-1-2\": [ 1198.0536, 160.16187, -1937.424 ],\n  \"9-1-3\": [ 1160.7703, 156.032, -1682.58 ],\n  \"9-1-4\": [ 1081.689, 191.825, -2092.869 ],\n  \"9-1-5\": [ 947.6973, 205.406, -2092.656 ],\n  \"9-1-6\": [ 1270.208, 274.854, -2192.344 ],\n  \"9-1-7\": [ 1037.17, 158.25974, -1761.818 ],\n  \"9-1-8\": [ 1698.0283, 299.58, -2470.444 ],\n  \"9-1-9\": [ 1401.9097, 155.203, -1984.84 ],\n  \"9-1-10\": [ 1854.1393, 153.98119, -2018.318 ],\n  \"9-1-11\": [ 1518.1447, 202.65892, -2222.884 ],\n  \"9-1-12\": [ 1049.826, 219.624, -1841.302 ],\n  \"9-1-13\": [ 740.9347, 276.129, -1975.816 ],\n  \"9-1-14\": [ 977.81, 231.772, -1448.517 ],\n  \"9-1-15\": [ 902.24927, 202.204, -1486.805 ],\n  \"9-1-16\": [ 552.87463, 310.0584, -2123.151 ],\n  \"9-1-17\": [ 526.2075, 257.5541, -1978.386 ],\n  \"9-1-18\": [ 516.06586, 258.93277, -1988.088 ],\n  \"9-1-19\": [ 406.85233, 345.942, -2296.848 ],\n  \"9-1-20\": [ 461.65933, 261.267, -2430.324 ],\n  \"9-1-21\": [ 615.57446, 204.40112, -2567.678 ],\n  \"9-2-1\": [ 703.6389, 317.623, -2203.918 ],\n  \"9-2-2\": [ 904.748, 280.404, -2198.13 ],\n  \"9-2-3\": [ 807.161, 261.463, -2294.684 ],\n  \"9-2-4\": [ 726.8064, 250.554, -2313.824 ],\n  \"9-2-5\": [ 1541.4001, 254.81822, -2677.292 ],\n  \"9-2-6\": [ 1289.9803, 236.96513, -2473.336 ],\n  \"9-2-7\": [ 1613.5505, 194.594, -3008.886 ],\n  \"9-2-8\": [ 1091.2606, 283.35077, -2288.283 ],\n  \"9-2-9\": [ 1121.5624, 247.51, -2441.588 ],\n  \"9-2-10\": [ 1135.403, 200.28, -2657.236 ],\n  \"9-2-11\": [ 1393.0848, 241.63, -2588.953 ],\n  \"10-1-1\": [ 1355.4225, 154.228, -3070.513 ],\n  \"10-1-2\": [ 932.8021, 154.328, -3069.857 ],\n  \"10-1-3\": [ 1088.3599, 150.072, -3039.058 ],\n  \"10-1-4\": [ 1168.1425, 165.906, -2810.181 ],\n  \"10-1-5\": [ 967.2324, 154.021, -2574.592 ],\n  \"10-1-6\": [ 969.512, 205.849, -2746.752 ],\n  \"10-1-7\": [ 752.812, 149.851, -2982.663 ],\n  \"10-1-8\": [ 708.866, 151.058, -2632.248 ],\n  \"10-1-9\": [ 407.1229, 153.71, -2811.957 ],\n  \"10-1-10\": [ 796.517, 206.454, -2833.264 ],\n  \"11-1-1\": [ 680.07526, 72.338, -3022.125 ],\n  \"11-1-2\": [ 758.8083, 97.049, -3209.514 ],\n  \"11-1-3\": [ 457.581, 28.332, -3201.192 ],\n  \"11-1-4\": [ 577.3071, 27.293, -3590.295 ],\n  \"11-1-5\": [ 641.5924, 52.289223, -3604.116 ],\n  \"11-1-6\": [ 914.7816, 69.557, -3469.828 ],\n  \"11-1-7\": [ 1080.179, 68.4, -3506.444 ],\n  \"11-1-8\": [ 980.33856, 100.343, -3298.26 ],\n  \"11-1-9\": [ 1281.2114, 72.793, -3441.391 ],\n  \"11-1-10\": [ 1404.0607, 106.93168, -3595.316 ],\n  \"11-1-11\": [ 1420.5525, 108.026, -3379.739 ],\n  \"12-1-1\": [ 1619.1842, 151.259, -3349.24 ],\n  \"12-1-2\": [ 1491.2551, 126.809, -3376.43 ],\n  \"12-1-3\": [ 1730.0283, 102.642, -3721.919 ],\n  \"12-1-4\": [ 1842.9199, 100.34152, -3608.054 ],\n  \"12-1-5\": [ 2055.4146, 150.636, -3465.063 ],\n  \"12-1-6\": [ 1876.1418, 150.488, -3344.767 ],\n  \"12-1-7\": [ 2240.985, 163.175, -3496.316 ],\n  \"12-1-8\": [ 2155.9333, 153.8733, -3913.194 ],\n  \"12-1-9\": [ 2256.0447, 181.19315, -3807.589 ],\n  \"12-1-10\": [ 2204.459, 200.011, -3210.86 ],\n  \"12-1-11\": [ 2104.338, 200.007, -3112.235 ],\n  \"12-1-12\": [ 2155.035, 184.779, -3240.255 ],\n  \"12-1-13\": [ 1967.685, 228.104, -2885.821 ],\n  \"12-1-14\": [ 1788.2504, 198.625, -2889.617 ],\n  \"12-1-15\": [ 1826.5359, 160.854, -3002.231 ],\n  \"12-1-16\": [ 1691.5563, 155.739, -3033.022 ],\n  \"12-1-17\": [ 1518.1082, 162.791, -3265.582 ],\n  \"13-1-1\": [ 3528.1975, 165.69916, -3543.603 ],\n  \"13-1-2\": [ 3416.95, 165.057, -3545.65 ],\n  \"13-1-3\": [ 3213.6755, 164.828, -3475.689 ],\n  \"13-1-4\": [ 3339.4155, 149.762, -3180.274 ],\n  \"13-1-5\": [ 3116.5674, 139, -3315.564 ],\n  \"14-1-1\": [ 4159.2573, 75.513, -2840.708 ],\n  \"14-1-2\": [ 4236.472, 113.233, -2890.783 ],\n  \"14-1-3\": [ 4254.321, 98.49, -3073.784 ],\n  \"14-1-4\": [ 4556.84, 131.992, -3100.284 ],\n  \"14-1-5\": [ 4473.559, 97.826, -3155.787 ],\n  \"14-1-6\": [ 4079.3474, 151.717, -3083.227 ],\n  \"14-1-7\": [ 4064.9348, 175.008, -3205.413 ],\n  \"14-1-8\": [ 3910.8123, 110.285385, -2703.162 ],\n  \"14-1-9\": [ 3733.5237, 152.13, -2828.176 ],\n  \"14-1-10\": [ 3670.5334, 150.04924, -3302.292 ],\n  \"14-1-11\": [ 3501.2812, 139.998, -3187.655 ],\n  \"14-1-12\": [ 3494.993, 171.523, -2944.775 ],\n  \"14-1-13\": [ 3425.9077, 154.61, -2858.815 ],\n  \"14-1-14\": [ 3197.446, 139.996, -2965.349 ],\n  \"14-1-15\": [ 3221.556, 137.094, -2717.948 ],\n  \"15-1-1\": [ 3949.057, 128.4627, -1753.7886 ],\n  \"15-1-2\": [ 3939.1145, 118.467, -1903.497 ],\n  \"15-1-3\": [ 4222.742, 100.08929, -1788.447 ],\n  \"15-1-4\": [ 3994.504, 106.69571, -2075.471 ],\n  \"15-1-5\": [ 4091.4172, 78.9, -2141.472 ],\n  \"15-1-6\": [ 4182.6772, 100.57541, -1999.694 ],\n  \"15-1-7\": [ 4199.1963, 101.61066, -2063.68 ],\n  \"15-1-8\": [ 4347.587, 101.947, -2055.755 ],\n  \"15-1-9\": [ 4450.8774, 39.89622, -1995.672 ],\n  \"15-1-10\": [ 4308.0854, 82.694, -2248.658 ],\n  \"15-2-1\": [ 3507.103, 114.158, -2304.367 ],\n  \"15-2-2\": [ 3371.768, 131.414, -2431.5 ],\n  \"15-2-3\": [ 3315.8464, 136.56921, -2553.919 ],\n  \"15-2-4\": [ 3286.927, 136.706, -2209.562 ],\n  \"15-2-5\": [ 3210.6985, 200.413, -2638.92 ],\n  \"15-2-6\": [ 3257.0085, 199.8879, -2352.739 ],\n  \"15-2-7\": [ 3042.08, 200.078, -2326.545 ],\n  \"15-2-8\": [ 3141.9746, 200.00513, -2207.734 ],\n  \"15-2-9\": [ 3482.535, 150.15349, -2140.363 ],\n  \"15-2-10\": [ 3382.6587, 175.42473, -2025.202 ],\n  \"15-2-11\": [ 3075.128, 171.15794, -2083.704 ],\n  \"16-1-1\": [ 3634.7349, 103.697, -2249.59 ],\n  \"16-1-2\": [ 3913.9048, 87.313, -2159.184 ],\n  \"16-1-3\": [ 3990.8743, 68.22058, -2368.99 ],\n  \"16-1-4\": [ 4097.5396, 40.483, -2342.001 ],\n  \"16-1-5\": [ 4283.13, 27.846, -2320.806 ],\n  \"16-1-6\": [ 4022.277, 28.308, -2546.425 ],\n  \"16-1-7\": [ 3662.312, 101.794, -2399.427 ],\n  \"16-1-8\": [ 3548.7634, 116.26001, -2507.5374 ],\n  \"16-1-9\": [ 3579.2812, 133.791, -2361.305 ],\n  \"16-1-10\": [ 3465.717, 122.248, -2659.646 ],\n  \"17-1-1\": [ 2902.689, 200.399, -3093.951 ],\n  \"17-1-2\": [ 2720.5022, 280.556, -3201.56 ],\n  \"17-1-3\": [ 2593.317, 350.688, -3282.014 ],\n  \"17-1-4\": [ 2598.9983, 350.08722, -3411.557 ],\n  \"17-1-5\": [ 2427.9685, 252.528, -3461.893 ],\n  \"17-1-6\": [ 2286.5273, 273.911, -3154.17 ],\n  \"17-1-7\": [ 2467.979, 307.236, -3187.504 ],\n  \"17-1-8\": [ 3303.539, 457.404, -3817.721 ],\n  \"17-1-9\": [ 3153.672, 549.903, -3887.176 ],\n  \"17-1-10\": [ 3058.9521, 529.29065, -3661.263 ],\n  \"17-1-11\": [ 2941.3628, 199.929, -2807.215 ],\n  \"17-1-12\": [ 3018.6382, 200.228, -2661.028 ],\n  \"18-1-1\": [ 583.49615, 51.777, -3722.577 ],\n  \"18-1-2\": [ 762.9055, 83.263, -4136.542 ],\n  \"18-1-3\": [ 538.15045, 59.128, -4297.462 ],\n  \"18-1-4\": [ 841.52344, 72.244, -4295.059 ],\n  \"18-1-5\": [ 789.033, 30.452, -4485.728 ],\n  \"18-1-6\": [ 881.5492, 96.926, -4443.855 ],\n  \"18-1-7\": [ 1156.5724, 105.646, -4630.291 ],\n  \"18-1-8\": [ 1315.9452, 112.47854, -4411.718 ],\n  \"18-1-9\": [ 1507.038, 107.434, -4404.618 ],\n  \"18-1-10\": [ 1639.128, 134.847, -4364.72 ],\n  \"18-1-11\": [ 2002.7728, 143.998, -4004.138 ],\n  \"18-1-12\": [ 2070.937, 140.65634, -3938.287 ],\n  \"18-1-13\": [ 1629.3771, 52.345, -3997.327 ],\n  \"18-1-14\": [ 1061.734, 54.03, -4230.546 ],\n  \"18-1-15\": [ 853.741, 57.159, -3998.338 ],\n  \"19-1-1\": [ 1904.9739, 302.13, -4476.627 ],\n  \"19-1-2\": [ 2075.4602, 196.94385, -4453.186 ],\n  \"19-1-3\": [ 2175.288, 258.987, -3962.343 ],\n  \"19-1-4\": [ 2357.263, 292.974, -4154.987 ],\n  \"19-1-5\": [ 2517.7583, 312.382, -4327.555 ],\n  \"19-1-6\": [ 2388.8801, 193.7364, -4379.883 ],\n  \"19-1-7\": [ 2493.558, 380.4853, -4159.183 ],\n  \"19-1-8\": [ 2539.19, 314.32626, -3934.373 ],\n  \"19-1-9\": [ 2708.6387, 543.1926, -3815.269 ],\n  \"19-1-10\": [ 2551.8943, 459.3, -3786.567 ],\n  \"19-1-11\": [ 2636.6562, 474.08127, -4080.359 ],\n  \"19-1-12\": [ 2079.422, 250.6066, -4261.153 ],\n  \"19-2-1\": [ 2980.5945, 468.246, -4081.9 ],\n  \"19-2-2\": [ 3065.717, 335.63928, -4264.309 ],\n  \"19-2-3\": [ 3215.0225, 249.41417, -4426.817 ],\n  \"19-2-4\": [ 3334.752, 290.42, -4284.607 ],\n  \"19-2-5\": [ 3287.9968, 409.532, -4120.064 ],\n  \"19-2-6\": [ 3185.0469, 124.804085, -4674.016 ],\n  \"19-2-7\": [ 2925.784, 37.782, -4819.091 ],\n  \"19-2-8\": [ 2934.2034, 294.876, -4491.229 ],\n  \"19-2-9\": [ 2776.519, 166.26, -4744.95 ],\n  \"19-2-10\": [ 2566.431, 113.238, -4671.11 ],\n  \"20-1-1\": [ 2158.8896, 75.773, -4624.578 ],\n  \"20-1-2\": [ 2095.613, 30.714, -4826.774 ],\n  \"20-1-3\": [ 2266.1736, 27.36, -4888.04 ],\n  \"20-1-4\": [ 2404.1516, 38.995, -4739.097 ],\n  \"20-1-5\": [ 2636.8281, 31.877356, -4766.172 ],\n  \"20-1-6\": [ 1967.109, 107.087, -4706.695 ],\n  \"20-1-7\": [ 1888.2545, 27.66, -4804.205 ],\n  \"21-1-1\": [ 3547.085, 248.378, -4267.11 ],\n  \"21-1-2\": [ 3516.266, 27.53, -4551.839 ],\n  \"21-1-3\": [ 3715.373, 30.22447, -4396.859 ],\n  \"21-1-4\": [ 3664.97, 250.417, -3851.387 ],\n  \"21-1-5\": [ 3782.5044, 215.215, -3940.288 ],\n  \"21-1-6\": [ 4238.2163, 200.163, -4023.547 ],\n  \"21-1-7\": [ 4037.2893, 308.365, -3874.302 ],\n  \"21-1-8\": [ 3804.4255, 249.465, -3744.459 ],\n  \"21-1-9\": [ 3681.3413, 250.90479, -3523.232 ],\n  \"21-1-10\": [ 3438.491, 200.681, -3586.808 ],\n  \"21-1-11\": [ 3528.0413, 252.9267, -3701.859 ],\n  \"21-1-12\": [ 3611.6423, 302.471, -4050.048 ],\n  \"21-1-13\": [ 3970.3142, 206.68, -4036.144 ],\n  \"22-1-1\": [ 3862.4924, 220.02588, -3742.104 ],\n  \"22-1-2\": [ 3949.528, 220.012, -3740.621 ],\n  \"22-1-3\": [ 3997.943, 220.031, -3641.878 ],\n  \"22-1-4\": [ 4003.7307, 248.957, -3800.467 ],\n  \"22-1-5\": [ 4149.172, 249.902, -3794.919 ],\n  \"22-1-6\": [ 4211.662, 309.788, -3789.485 ],\n  \"22-1-7\": [ 4275.8936, 299.654, -3730.387 ],\n  \"22-1-8\": [ 4209.848, 230.012, -3633.816 ],\n  \"22-1-9\": [ 4233.2744, 230.314, -3483.836 ],\n  \"22-1-10\": [ 4041.568, 250.111, -3479.939 ],\n  \"22-1-11\": [ 3749.4216, 250.14, -3441.497 ],\n  \"22-1-12\": [ 3870.1, 250.021, -3419.277 ],\n  \"22-1-13\": [ 3945.9397, 250.30798, -3403.474 ],\n  \"22-1-14\": [ 4040.2236, 302.19217, -3358.449 ],\n  \"22-1-15\": [ 4109.605, 230.034, -3350.393 ],\n  \"22-1-16\": [ 4250.147, 333.989, -3342.715 ],\n  \"22-1-17\": [ 4200.3525, 250.453, -3387.742 ],\n  \"22-1-18\": [ 4399.146, 294.83286, -3413.392 ],\n  \"22-1-19\": [ 4382.4756, 318.88, -3327.004 ],\n  \"22-1-20\": [ 4421.354, 250.189, -3664.857 ],\n  \"22-1-21\": [ 4658.1436, 202.46548, -3247.712 ],\n  \"22-1-22\": [ 4379.2666, 250.25455, -3478.503 ]\n}"
  },
  {
    "path": "RaidCrawler.Core/Resources/Base/raid_fixed_reward_item_array.json",
    "content": "[\n  {\n    \"TableName\": 12665484173717205406,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 4,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 1,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem03\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 971768233462174768,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 566,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 13967968057318937848,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 567,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 13964306683597752118,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 565,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 4079204644669103737,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 568,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 4461632780080010991,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 569,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 1453407049952680673,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 570,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 13962751043364178541,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 3\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 566,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 7425207459411916467,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 3\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 567,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 7413752747271484969,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 3\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 565,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 18330603432922962524,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 3\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 568,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 4252614494071568324,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 3\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 569,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 2509815283604296356,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 3\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 570,\n      \"Num\": 1\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 8835428215795829081,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 566,\n      \"Num\": 2\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 8835424917260944448,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 567,\n      \"Num\": 2\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 8835426016772572659,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 565,\n      \"Num\": 2\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 8835431514330713714,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 568,\n      \"Num\": 2\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 8835432613842341925,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 569,\n      \"Num\": 2\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 8835429315307457292,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 570,\n      \"Num\": 2\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 6567691901553146942,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 4\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 566,\n      \"Num\": 2\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 6567690802041518731,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 4\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 567,\n      \"Num\": 2\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 6567689702529890520,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 4\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 565,\n      \"Num\": 2\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 6567697399111287997,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 4\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 568,\n      \"Num\": 2\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 6567696299599659786,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 4\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 569,\n      \"Num\": 2\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 6567695200088031575,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 4\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 570,\n      \"Num\": 2\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 1\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 11960178471819505075,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 5\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 566,\n      \"Num\": 3\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 11960179571331133286,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 5\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 567,\n      \"Num\": 3\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 11960180670842761497,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 5\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 565,\n      \"Num\": 3\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 11960181770354389708,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 5\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 568,\n      \"Num\": 3\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 11960182869866017919,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 5\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 569,\n      \"Num\": 3\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 11960183969377646130,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 5\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 570,\n      \"Num\": 3\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 8092679411244492160,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 4\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 5\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 566,\n      \"Num\": 3\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 8092682709779376793,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 4\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 5\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 567,\n      \"Num\": 3\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 8092681610267748582,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 4\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 5\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 565,\n      \"Num\": 3\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 8092684908802633215,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 4\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 5\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 568,\n      \"Num\": 3\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 8092683809291005004,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 4\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 5\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 569,\n      \"Num\": 3\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  },\n  {\n    \"TableName\": 8092687107825889637,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 4\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1\n    },\n    \"RewardItem02\": {\n      \"Category\": 1,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 5\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 570,\n      \"Num\": 3\n    },\n    \"RewardItem04\": {\n      \"Category\": 1,\n      \"SubjectType\": 2,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem05\": {\n      \"Category\": 2,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem06\": {\n      \"Category\": 2,\n      \"SubjectType\": 1,\n      \"ItemID\": 0,\n      \"Num\": 3\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"SubjectType\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0\n    }\n  }\n]"
  },
  {
    "path": "RaidCrawler.Core/Resources/Base/raid_lottery_reward_item_array.json",
    "content": "[\n  {\n    \"TableName\": 12665484173717205406,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1,\n      \"Rate\": 50,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 50,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 4,\n      \"Num\": 100,\n      \"Rate\": 500,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 12768795081099901129,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1,\n      \"Rate\": 2200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 850,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 566,\n      \"Num\": 1,\n      \"Rate\": 850,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 155,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 151,\n      \"Num\": 2,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 152,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 88,\n      \"Num\": 1,\n      \"Rate\": 3000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 668479594417095103,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1,\n      \"Rate\": 2200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 850,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 567,\n      \"Num\": 1,\n      \"Rate\": 850,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 149,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 151,\n      \"Num\": 2,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 152,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 90,\n      \"Num\": 1,\n      \"Rate\": 3000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 679833151487731189,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1,\n      \"Rate\": 2200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 850,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 565,\n      \"Num\": 1,\n      \"Rate\": 850,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 151,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 152,\n      \"Num\": 2,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 153,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 86,\n      \"Num\": 1,\n      \"Rate\": 3000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 17668059097480846072,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1,\n      \"Rate\": 2200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 850,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 568,\n      \"Num\": 1,\n      \"Rate\": 850,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 152,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 153,\n      \"Num\": 2,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 150,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 88,\n      \"Num\": 1,\n      \"Rate\": 3000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 16164448039046184704,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1,\n      \"Rate\": 2200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 850,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 569,\n      \"Num\": 1,\n      \"Rate\": 850,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 153,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 150,\n      \"Num\": 2,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 156,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 90,\n      \"Num\": 1,\n      \"Rate\": 3000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 15162778972308788368,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1124,\n      \"Num\": 1,\n      \"Rate\": 2200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 850,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 570,\n      \"Num\": 1,\n      \"Rate\": 850,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 156,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 150,\n      \"Num\": 2,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 153,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 86,\n      \"Num\": 1,\n      \"Rate\": 3000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 6127935918080434284,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 2300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 566,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 155,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 151,\n      \"Num\": 2,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 152,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 88,\n      \"Num\": 1,\n      \"Rate\": 3000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 875344009101998740,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 2300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 567,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 149,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 151,\n      \"Num\": 2,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 152,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 90,\n      \"Num\": 1,\n      \"Rate\": 3000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 863845316496438802,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 2300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 565,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 151,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 152,\n      \"Num\": 2,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 153,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 86,\n      \"Num\": 1,\n      \"Rate\": 3000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 15677658920486028021,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 2300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 568,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 152,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 153,\n      \"Num\": 2,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 150,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 88,\n      \"Num\": 1,\n      \"Rate\": 3000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 18349317780833198619,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 2300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 569,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 153,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 150,\n      \"Num\": 2,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 156,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 90,\n      \"Num\": 1,\n      \"Rate\": 3000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 18274910994316513853,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 2300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 570,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 156,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 150,\n      \"Num\": 2,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 153,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 86,\n      \"Num\": 1,\n      \"Rate\": 3000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 8835428215795829081,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 566,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 159,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 157,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 91,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 90,\n      \"Num\": 1,\n      \"Rate\": 2500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 8835424917260944448,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 567,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 163,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 157,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 88,\n      \"Num\": 1,\n      \"Rate\": 2500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 89,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 8835426016772572659,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 565,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 158,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 157,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 87,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 86,\n      \"Num\": 1,\n      \"Rate\": 2500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 8835431514330713714,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 568,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 162,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 157,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 91,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 90,\n      \"Num\": 1,\n      \"Rate\": 2500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 8835432613842341925,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 569,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 160,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 157,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 88,\n      \"Num\": 1,\n      \"Rate\": 2500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 89,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 8835429315307457292,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1125,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 2,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 570,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 161,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 157,\n      \"Num\": 1,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 86,\n      \"Num\": 1,\n      \"Rate\": 2500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 87,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 6567691901553146942,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 566,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 159,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 157,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 170,\n      \"Num\": 3,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 91,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 900,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 6567690802041518731,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 567,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 163,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 157,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 171,\n      \"Num\": 3,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 89,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 900,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 6567689702529890520,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 565,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 158,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 157,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 169,\n      \"Num\": 3,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 87,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 900,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 6567697399111287997,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 568,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 160,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 157,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 172,\n      \"Num\": 3,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 91,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 900,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 6567696299599659786,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 569,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 162,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 157,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 173,\n      \"Num\": 3,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 89,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 900,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 6567695200088031575,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1126,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 570,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 161,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 157,\n      \"Num\": 1,\n      \"Rate\": 700,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 174,\n      \"Num\": 3,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 87,\n      \"Num\": 1,\n      \"Rate\": 1500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem09\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 900,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem15\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 11960178471819505075,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1,\n      \"Rate\": 2300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 1100,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 50,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 566,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 170,\n      \"Num\": 3,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 91,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 583,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 1908,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 1232,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 1231,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 1233,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 1234,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 51,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 795,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem15\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 550,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 645,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 11960179571331133286,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1,\n      \"Rate\": 2300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 1100,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 50,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 567,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 171,\n      \"Num\": 3,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 89,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 582,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 1905,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 1235,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 1236,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 1237,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 1238,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 51,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 795,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem15\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 550,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 645,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 11960180670842761497,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1,\n      \"Rate\": 2300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 1100,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 50,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 565,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 169,\n      \"Num\": 3,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 87,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 580,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 1908,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 1904,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 1905,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 1907,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 1906,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 51,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 795,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem15\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 550,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 645,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 11960181770354389708,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1,\n      \"Rate\": 2300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 1100,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 50,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 568,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 172,\n      \"Num\": 3,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 91,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 583,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 1907,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 1239,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 1240,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 1241,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 1242,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 51,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 795,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem15\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 550,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 645,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 11960182869866017919,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1,\n      \"Rate\": 2300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 1100,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 50,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 569,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 173,\n      \"Num\": 3,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 89,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 582,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 1906,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 1243,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 1244,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 1245,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 1246,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 51,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 795,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem15\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 550,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 645,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 11960183969377646130,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1,\n      \"Rate\": 2300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 1100,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 50,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 570,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 173,\n      \"Num\": 3,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 87,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 580,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 1904,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 1249,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 1250,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 1248,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 1247,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 51,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 795,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem15\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 550,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 645,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 8092679411244492160,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 50,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 566,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 91,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 583,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 1908,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 1232,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 1231,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 1233,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 1234,\n      \"Num\": 1,\n      \"Rate\": 250,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 51,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 795,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem15\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 645,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 1606,\n      \"Num\": 1,\n      \"Rate\": 100,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 8092682709779376793,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 50,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 567,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 89,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 582,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 1905,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 1235,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 1236,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 1237,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 1238,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 51,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 795,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem15\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 645,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 1606,\n      \"Num\": 1,\n      \"Rate\": 100,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 8092681610267748582,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 50,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 565,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 87,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 580,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 1908,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 1904,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 1905,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 1907,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 1906,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 51,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 795,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem15\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 645,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 1606,\n      \"Num\": 1,\n      \"Rate\": 100,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 8092684908802633215,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 50,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 568,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 91,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 583,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 1907,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 1239,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 1240,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 1241,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 1242,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 51,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 795,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem15\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 645,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 1606,\n      \"Num\": 1,\n      \"Rate\": 100,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 8092683809291005004,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 50,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 569,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 89,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 582,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 1906,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 1243,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 1244,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 1245,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 1246,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 51,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 795,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem15\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 645,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 1606,\n      \"Num\": 1,\n      \"Rate\": 100,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  },\n  {\n    \"TableName\": 8092687107825889637,\n    \"RewardItem00\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 1,\n      \"Rate\": 1200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem01\": {\n      \"Category\": 0,\n      \"ItemID\": 1127,\n      \"Num\": 2,\n      \"Rate\": 800,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem02\": {\n      \"Category\": 0,\n      \"ItemID\": 50,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem03\": {\n      \"Category\": 0,\n      \"ItemID\": 570,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem04\": {\n      \"Category\": 0,\n      \"ItemID\": 1128,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem05\": {\n      \"Category\": 0,\n      \"ItemID\": 87,\n      \"Num\": 1,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem06\": {\n      \"Category\": 0,\n      \"ItemID\": 580,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem07\": {\n      \"Category\": 0,\n      \"ItemID\": 92,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem08\": {\n      \"Category\": 0,\n      \"ItemID\": 1904,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem09\": {\n      \"Category\": 0,\n      \"ItemID\": 1249,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem10\": {\n      \"Category\": 0,\n      \"ItemID\": 1250,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem11\": {\n      \"Category\": 0,\n      \"ItemID\": 1248,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem12\": {\n      \"Category\": 0,\n      \"ItemID\": 1247,\n      \"Num\": 1,\n      \"Rate\": 300,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem13\": {\n      \"Category\": 0,\n      \"ItemID\": 51,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem14\": {\n      \"Category\": 0,\n      \"ItemID\": 795,\n      \"Num\": 1,\n      \"Rate\": 400,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem15\": {\n      \"Category\": 2,\n      \"ItemID\": 0,\n      \"Num\": 1,\n      \"Rate\": 500,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem16\": {\n      \"Category\": 1,\n      \"ItemID\": 0,\n      \"Num\": 2,\n      \"Rate\": 1000,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem17\": {\n      \"Category\": 0,\n      \"ItemID\": 645,\n      \"Num\": 1,\n      \"Rate\": 200,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem18\": {\n      \"Category\": 0,\n      \"ItemID\": 1606,\n      \"Num\": 1,\n      \"Rate\": 100,\n      \"RareItemFlag\": true\n    },\n    \"RewardItem19\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem20\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem21\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem22\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem23\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem24\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem25\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem26\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem27\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem28\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    },\n    \"RewardItem29\": {\n      \"Category\": 0,\n      \"ItemID\": 0,\n      \"Num\": 0,\n      \"Rate\": 0,\n      \"RareItemFlag\": false\n    }\n  }\n]"
  },
  {
    "path": "RaidCrawler.Core/Resources/Blueberry/den_locations_blueberry.json",
    "content": "{\n    \"1-1-1\": [ 1419.0885, 148.04196, -392.419 ],\n    \"1-1-2\": [ 1423.5548, 148.04231, -424.686 ],\n    \"1-1-3\": [ 1410.7599, 148.04143, -405.8 ],\n    \"1-1-4\": [ 1436.2668, 148.04524, -363.392 ],\n    \"1-1-5\": [ 1474.9999, 148.89914, -374.137 ],\n    \"1-1-6\": [ 1520.5872, 149.44374, -411.826 ],\n    \"1-1-7\": [ 1501.5801, 149.63086, -367.817 ],\n    \"1-1-8\": [ 1557.1927, 150.11078, -360.717 ],\n    \"1-1-9\": [ 1551.4225, 150.02913, -425.722 ],\n    \"1-1-10\": [ 1519.4225, 148.06494, -451.194 ],\n    \"1-2-1\": [ 1252.0518, 207.55095, -221.877 ],\n    \"1-2-2\": [ 1313.0358, 204.323, -241.057 ],\n    \"1-2-3\": [ 1290.7479, 203.124, -301.168 ],\n    \"1-2-4\": [ 1201.3002, 204.66898, -183.835 ],\n    \"1-2-5\": [ 1097.1854, 203.698, -188.816 ],\n    \"1-2-6\": [ 1065.7256, 201.902, -191.272 ],\n    \"1-2-7\": [ 1040.294, 201.90895, -187.294 ],\n    \"1-2-8\": [ 1148.3553, 209.452, -199.242 ],\n    \"1-2-9\": [ 1226.7849, 214.984, -265.716 ],\n    \"1-2-10\": [ 1170.309, 205.28, -254.834 ],\n    \"1-3-1\": [ 1071.7174, 158.448, -537.391 ],\n    \"1-3-2\": [ 1068.6727, 157.11052, -559.047 ],\n    \"1-3-3\": [ 1045.4989, 157.17328, -587.088 ],\n    \"1-3-4\": [ 1042.2764, 148.613, -650.751 ],\n    \"1-3-5\": [ 1081.3931, 148.90382, -653.637 ],\n    \"1-3-6\": [ 1097.4799, 151.877, -609.471 ],\n    \"1-3-7\": [ 1117.448, 155.383, -556.081 ],\n    \"1-3-8\": [ 1129.0808, 152.026, -597.758 ],\n    \"1-3-9\": [ 1142.7708, 148.772, -648.766 ],\n    \"1-3-10\": [ 1170.9624, 151.894, -600.95 ],\n    \"2-1-1\": [ 1016.33624, 177.33165, -1203.594 ],\n    \"2-1-2\": [ 1017.16254, 176.99893, -1232.061 ],\n    \"2-1-3\": [ 1015.6817, 176.396, -1283.585 ],\n    \"2-1-4\": [ 1019.1868, 176.9319, -1366.998 ],\n    \"2-1-5\": [ 1067.5999, 177.03183, -1307.764 ],\n    \"2-1-6\": [ 1080.762, 176.45879, -1299.979 ],\n    \"2-1-7\": [ 1084.4038, 175.94942, -1292.7058 ],\n    \"2-1-8\": [ 1080.5182, 177.6765, -1212.065 ],\n    \"2-1-9\": [ 1071.9427, 177.73576, -1205.551 ],\n    \"2-1-10\": [ 1062.274, 177.99489, -1203.383 ],\n    \"2-2-1\": [ 1279.485, 164.97044, -1339.863 ],\n    \"2-2-2\": [ 1291.714, 164.386, -1329.968 ],\n    \"2-2-3\": [ 1310.1156, 159.7946, -1352.672 ],\n    \"2-2-4\": [ 1337.0566, 160.20302, -1343.9703 ],\n    \"2-2-5\": [ 1423.9888, 163.9035, -1330.431 ],\n    \"2-2-6\": [ 1325.1428, 199.81642, -1261.2911 ],\n    \"2-2-7\": [ 1372.0631, 202.06894, -1274.734 ],\n    \"2-2-8\": [ 1416.4108, 200.187, -1259.088 ],\n    \"2-2-9\": [ 1349.3671, 198.255, -1218.78 ],\n    \"2-2-10\": [ 1405.794, 199.52132, -1219.589 ],\n    \"2-3-1\": [ 1327.8322, 259.53726, -1075.392 ],\n    \"2-3-2\": [ 1307.8423, 275.27484, -1067.1046 ],\n    \"2-3-3\": [ 1290.0579, 275.1577, -1051.824 ],\n    \"2-3-4\": [ 1277.651, 275.18298, -1076.735 ],\n    \"2-3-5\": [ 1246.5325, 265.143, -1065.547 ],\n    \"2-3-6\": [ 1123.7737, 286.91684, -1069.353 ],\n    \"2-3-7\": [ 1096.5541, 286.84732, -1093.816 ],\n    \"2-3-8\": [ 1094.2689, 286.9964, -1141.195 ],\n    \"2-3-9\": [ 1117.3457, 268.95337, -1171.502 ],\n    \"2-3-10\": [ 1156.5371, 269.36856, -1174.2267 ],\n    \"3-1-1\": [ 828.9771, 149.972, -784.436 ],\n    \"3-1-2\": [ 831.9324, 151.004, -756.284 ],\n    \"3-1-3\": [ 884.82874, 149.97223, -750.833 ],\n    \"3-1-4\": [ 898.41235, 158.10477, -686.125 ],\n    \"3-1-5\": [ 902.8407, 163.03687, -620.0809 ],\n    \"3-1-6\": [ 981.9706, 188.56688, -750.6608 ],\n    \"3-1-7\": [ 932.3204, 142.118, -898.17 ],\n    \"3-1-8\": [ 981.9546, 188.48013, -811.596 ],\n    \"3-1-9\": [ 890.2766, 150.784, -985.77 ],\n    \"3-1-10\": [ 912.5114, 150.193, -988.018 ],\n    \"3-2-1\": [ 878.6087, 155.1415, -576.183 ],\n    \"3-2-2\": [ 951.52997, 150.0134, -546.3993 ],\n    \"3-2-3\": [ 903.09827, 149.94165, -544.509 ],\n    \"3-2-4\": [ 866.2156, 150.29373, -523.223 ],\n    \"3-2-5\": [ 942.8039, 169.0707, -513.136 ],\n    \"3-2-6\": [ 934.25195, 149.98552, -485.86 ],\n    \"3-2-7\": [ 922.212, 151.06136, -429.567 ],\n    \"3-2-8\": [ 882.4181, 157.063, -444.072 ],\n    \"3-2-9\": [ 850.69867, 165.334, -445.865 ],\n    \"3-2-10\": [ 818.0774, 165.782, -474.72 ],\n    \"3-3-1\": [ 356.08408, 301.2941, -877.756 ],\n    \"3-3-2\": [ 348.9274, 298.0795, -829.235 ],\n    \"3-3-3\": [ 517.80237, 266.99832, -918.032 ],\n    \"3-3-4\": [ 469.88144, 267.063, -869.483 ],\n    \"3-3-5\": [ 522.4888, 238.50424, -805.429 ],\n    \"3-3-6\": [ 551.46576, 255.54094, -785.36536 ],\n    \"3-3-7\": [ 607.04755, 260.4361, -740.397 ],\n    \"3-3-8\": [ 271.7786, 300.326, -833.105 ],\n    \"3-3-9\": [ 226.70793, 300.56793, -867.474 ],\n    \"3-3-10\": [ 228.09012, 300.0921, -835.308 ],\n    \"4-1-1\": [ 752.41907, 230.08, -1106.215 ],\n    \"4-1-2\": [ 772.03986, 228.604, -1146.407 ],\n    \"4-1-3\": [ 723.7713, 233.19969, -1101.199 ],\n    \"4-1-4\": [ 734.70514, 231.57997, -1165.252 ],\n    \"4-1-5\": [ 664.11035, 248.67715, -1136.347 ],\n    \"4-1-6\": [ 716.94745, 238.61479, -1145.314 ],\n    \"4-1-7\": [ 826.9544, 202.50842, -1119.797 ],\n    \"4-1-8\": [ 856.4173, 206.696, -1174.174 ],\n    \"4-1-9\": [ 856.0273, 206.48924, -1200.9009 ],\n    \"4-1-10\": [ 803.82336, 205.7457, -1216.426 ],\n    \"4-2-1\": [ 435.86853, 325.98355, -1231.285 ],\n    \"4-2-2\": [ 458.79648, 326.27008, -1219.4116 ],\n    \"4-2-3\": [ 586.4578, 286.57764, -1056.789 ],\n    \"4-2-4\": [ 563.712, 289.362, -1070.082 ],\n    \"4-2-5\": [ 579.3643, 289.27164, -1128.282 ],\n    \"4-2-6\": [ 536.32513, 278.26904, -1020.43 ],\n    \"4-2-7\": [ 513.385, 281.471, -1031.214 ],\n    \"4-2-8\": [ 573.46356, 288.49515, -1102.983 ],\n    \"4-2-9\": [ 453.9, 337.06, -1202.554 ],\n    \"4-2-10\": [ 428.5264, 322.2193, -1267.844 ],\n    \"4-3-1\": [ 922.1982, 189.046, -1274.857 ],\n    \"4-3-2\": [ 902.9876, 192.69, -1233.6 ],\n    \"4-3-3\": [ 951.04846, 175.43738, -1232.478 ],\n    \"4-3-4\": [ 952.11365, 179.21931, -1288.004 ],\n    \"4-3-5\": [ 943.5256, 183.9302, -1306.7241 ],\n    \"4-3-6\": [ 936.4061, 186.04524, -1335.4731 ],\n    \"4-3-7\": [ 868.5423, 188.25282, -1316.318 ],\n    \"4-3-8\": [ 949.6805, 159.84758, -1211.751 ],\n    \"4-3-9\": [ 952.7789, 150.00853, -1122.505 ],\n    \"4-3-10\": [ 852.7681, 151.34383, -1026.714 ],\n    \"5-1-1\": [ 1488.781, 151.268, -605.567 ],\n    \"5-1-2\": [ 1496.3743, 154.41519, -643.133 ],\n    \"5-1-3\": [ 1494.8785, 153.89922, -707.701 ],\n    \"5-1-4\": [ 1465.9845, 149.88274, -765.671 ],\n    \"5-1-5\": [ 1560.1207, 147.83495, -632.298 ],\n    \"5-1-6\": [ 1555.1918, 151.00336, -686.377 ],\n    \"5-1-7\": [ 1528.208, 145.2794, -755.519 ],\n    \"5-1-8\": [ 1581.8339, 142.91824, -738.862 ],\n    \"5-1-9\": [ 1626.1547, 144.838, -711.239 ],\n    \"5-1-10\": [ 1613.0289, 148.751, -600.219 ],\n    \"5-2-1\": [ 1818.1382, 154.51, -921.299 ],\n    \"5-2-2\": [ 1806.861, 147.04924, -879.711 ],\n    \"5-2-3\": [ 1754.8514, 146.68506, -822.536 ],\n    \"5-2-4\": [ 1712.112, 153.27354, -979.225 ],\n    \"5-2-5\": [ 1658.7676, 144.423, -955.149 ],\n    \"5-2-6\": [ 1599.0187, 141.47139, -949.046 ],\n    \"5-2-7\": [ 1522.9104, 142.667, -964.225 ],\n    \"5-2-8\": [ 1495.181, 138.68, -827.96 ],\n    \"5-2-9\": [ 1583.8597, 138.77013, -853.764 ],\n    \"5-2-10\": [ 1668.9205, 140.844, -857.105 ],\n    \"5-3-1\": [ 1171.5894, 171.371, -913.42 ],\n    \"5-3-2\": [ 1226.1235, 163.196, -949.511 ],\n    \"5-3-3\": [ 1266.9213, 160.249, -964.4659 ],\n    \"5-3-4\": [ 1355.5631, 157.00957, -976.2744 ],\n    \"5-3-5\": [ 1320.5306, 158.74039, -891.13043 ],\n    \"5-3-6\": [ 1110.9374, 183.92676, -842.42413 ],\n    \"5-3-7\": [ 1124.6, 182.922, -797.35 ],\n    \"5-3-8\": [ 1022.9764, 188.03319, -824.599 ],\n    \"5-3-9\": [ 1010.551, 189.744, -792.887 ],\n    \"5-3-10\": [ 1060.2122, 187.44077, -755.21924 ],\n    \"6-1-1\": [ 1640.813, 177.504, -1168.25 ],\n    \"6-1-2\": [ 1566.0693, 169.84149, -1232.911 ],\n    \"6-1-3\": [ 1553.0303, 167.162, -1189.424 ],\n    \"6-1-4\": [ 1700.7095, 175.17484, -1270.924 ],\n    \"6-1-5\": [ 1652.9579, 171.59784, -1301.27 ],\n    \"6-1-6\": [ 1712.0559, 176.58649, -1373.716 ],\n    \"6-1-7\": [ 1676.6033, 178.59967, -1447.577 ],\n    \"6-1-8\": [ 1565.9803, 168.40674, -1401.225 ],\n    \"6-1-9\": [ 1626.0497, 176.55571, -1412.6875 ],\n    \"6-1-10\": [ 1658.0721, 175.1234, -1373.4296 ],\n    \"6-2-1\": [ 1515.5121, 152.71, -1136.583 ],\n    \"6-2-2\": [ 1497.4498, 150.74547, -1140.476 ],\n    \"6-2-3\": [ 1498.6233, 153.0068, -1123.891 ],\n    \"6-2-4\": [ 1514.0331, 150.34961, -1013.60394 ],\n    \"6-2-5\": [ 1535.1559, 151.73198, -1012.4256 ],\n    \"6-2-6\": [ 1571.1969, 150.95287, -1029.7358 ],\n    \"6-2-7\": [ 1590.8354, 151.5817, -1014.967 ],\n    \"6-2-8\": [ 1649.1296, 152.2982, -1017.839 ],\n    \"6-2-9\": [ 1730.375, 149.97003, -1139.147 ],\n    \"6-2-10\": [ 1839.7775, 149.97003, -1075.984 ],\n    \"6-3-1\": [ 1521.7024, 158.815, -1514.101 ],\n    \"6-3-2\": [ 1445.68, 158.98189, -1432.262 ],\n    \"6-3-3\": [ 1533.4103, 158.75304, -1573.623 ],\n    \"6-3-4\": [ 1501.8605, 162.70634, -1640.544 ],\n    \"6-3-5\": [ 1466.3531, 166.29079, -1603.804 ],\n    \"6-3-6\": [ 1411.2712, 170.78725, -1617.362 ],\n    \"6-3-7\": [ 1290.3329, 150.95445, -1472.374 ],\n    \"6-3-8\": [ 1224.2115, 151.07108, -1554.768 ],\n    \"6-3-9\": [ 1126.4038, 152.242, -1638.164 ],\n    \"6-3-10\": [ 1111.8031, 163.462, -1571.71 ],\n    \"7-1-1\": [ 239.6862, 258.06702, -622.386 ],\n    \"7-1-2\": [ 245.34721, 257.8467, -574.1572 ],\n    \"7-1-3\": [ 322.7471, 238.47914, -593.8611 ],\n    \"7-1-4\": [ 312.4859, 238.48666, -617.1511 ],\n    \"7-1-5\": [ 333.91785, 238.46484, -664.4716 ],\n    \"7-1-6\": [ 303.20178, 241.53632, -701.8762 ],\n    \"7-1-7\": [ 195.6599, 261.94934, -725.6698 ],\n    \"7-1-8\": [ 220.44046, 261.41174, -667.9975 ],\n    \"7-1-9\": [ 206.73293, 261.53763, -678.0357 ],\n    \"7-1-10\": [ 350.08594, 238.60786, -761.537 ],\n    \"7-2-1\": [ 585.0683, 238.97029, -482.1728 ],\n    \"7-2-2\": [ 624.2185, 238.98775, -509.208 ],\n    \"7-2-3\": [ 514.82117, 257.4524, -549.074 ],\n    \"7-2-4\": [ 463.77765, 256.69345, -487.876 ],\n    \"7-2-5\": [ 368.81537, 151.0362, -485.055 ],\n    \"7-2-6\": [ 374.50946, 150.368, -448.315 ],\n    \"7-2-7\": [ 509.8159, 151.84164, -301.394 ],\n    \"7-2-8\": [ 424.72958, 149.96648, -405.124 ],\n    \"7-2-9\": [ 684.9533, 223.99881, -509.931 ],\n    \"7-2-10\": [ 677.82477, 223.95534, -363.269 ],\n    \"7-3-1\": [ 844.1056, 173.52843, -239.12384 ],\n    \"7-3-2\": [ 791.419, 176.2921, -183.033 ],\n    \"7-3-3\": [ 897.9364, 194.5656, -253.06 ],\n    \"7-3-4\": [ 957.76135, 207.36443, -164.149 ],\n    \"7-3-5\": [ 913.6737, 161.4973, -399.677 ],\n    \"7-3-6\": [ 901.59863, 227.77214, -357.697 ],\n    \"7-3-7\": [ 745.5921, 160.97404, -269.934 ],\n    \"7-3-8\": [ 745.57275, 150.27386, -344.184 ],\n    \"7-3-9\": [ 821.0334, 161.97406, -268.31 ],\n    \"7-3-10\": [ 943.302, 193.71007, -282.376 ],\n    \"8-1-1\": [ 538.42633, 167.8033, -1378.938 ],\n    \"8-1-2\": [ 612.51685, 150.4303, -1382.6678 ],\n    \"8-1-3\": [ 652.19775, 153.03133, -1330.6787 ],\n    \"8-1-4\": [ 685.297, 149.99834, -1379.689 ],\n    \"8-1-5\": [ 688.0585, 151.9933, -1279.951 ],\n    \"8-1-6\": [ 657.89044, 150.05792, -1242.422 ],\n    \"8-1-7\": [ 731.4747, 149.98692, -1262.316 ],\n    \"8-1-8\": [ 776.7358, 150.51617, -1360.141 ],\n    \"8-1-9\": [ 792.3379, 150.00835, -1433.337 ],\n    \"8-1-10\": [ 842.3579, 149.98993, -1381.0255 ],\n    \"8-2-1\": [ 798.84247, 157.74162, -1752.454 ],\n    \"8-2-2\": [ 793.8582, 157.3892, -1740.4077 ],\n    \"8-2-3\": [ 779.18176, 156.68509, -1760.1102 ],\n    \"8-2-4\": [ 732.7907, 162.955, -1732.335 ],\n    \"8-2-5\": [ 708.20764, 164.59695, -1729.043 ],\n    \"8-2-6\": [ 779.96204, 150.024, -1675.608 ],\n    \"8-2-7\": [ 900.15857, 150.14003, -1844.203 ],\n    \"8-2-8\": [ 944.8461, 150.1558, -1853.898 ],\n    \"8-2-9\": [ 962.88, 152.25775, -1837.121 ],\n    \"8-2-10\": [ 929.7773, 153.294, -1799.902 ],\n    \"8-3-1\": [ 467.30118, 151.15369, -1578.599 ],\n    \"8-3-2\": [ 451.2206, 151.45712, -1546.153 ],\n    \"8-3-3\": [ 481.1984, 150.89993, -1534.525 ],\n    \"8-3-4\": [ 499.5463, 151.02528, -1549.534 ],\n    \"8-3-5\": [ 514.4543, 153.36147, -1473.543 ],\n    \"8-3-6\": [ 547.09705, 151.63441, -1480.276 ],\n    \"8-3-7\": [ 553.9428, 149.59, -1551.925 ],\n    \"8-3-8\": [ 530.1102, 149.60109, -1613.781 ],\n    \"8-3-9\": [ 470.6657, 170.76, -1597.273 ],\n    \"8-3-10\": [ 563.5199, 157.24396, -1660.241 ]\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Resources/Kitakami/den_locations_kitakami.json",
    "content": "{\n  \"1-1-1\": [ 846.22974, 114.42846, -373.968 ],\n  \"1-1-2\": [ 798.17694, 102.75056, -313.234 ],\n  \"1-1-3\": [ 855.7787, 106.48179, -311.674 ],\n  \"1-1-4\": [ 955.532, 111.424126, -366.255 ],\n  \"1-1-5\": [ 913.2011, 112.501, -356.487 ],\n  \"1-1-6\": [ 960.9623, 101.56054, -285.189 ],\n  \"1-1-7\": [ 805.8575, 103.86321, -354.653 ],\n  \"1-1-8\": [ 846.04346, 113.85453, -287.311 ],\n  \"1-1-9\": [ 1105.3696, 106.750145, -323.601 ],\n  \"1-1-10\": [ 1148.1714, 100.16275, -332.825 ],\n  \"1-2-1\": [ 1179.6296, 101.030785, -382.894 ],\n  \"1-2-2\": [ 1268.2388, 108.53412, -330.397 ],\n  \"1-2-3\": [ 1246.5443, 104.10581, -384.231 ],\n  \"1-2-4\": [ 1191.881, 102.28596, -402.861 ],\n  \"1-2-5\": [ 1240.0948, 101.69444, -410.854 ],\n  \"1-2-6\": [ 1290.227, 104.82199, -330.201 ],\n  \"1-2-7\": [ 1365.0533, 101.67295, -338.251 ],\n  \"1-2-8\": [ 1462.4418, 101.502815, -313.63 ],\n  \"1-2-9\": [ 1476.6232, 101.814926, -305.544 ],\n  \"1-2-10\": [ 1205.9265, 108.37691, -360.001 ],\n  \"2-1-1\": [ 1030.3679, 150.07591, -623.21606 ],\n  \"2-1-2\": [ 1018.43555, 140.467, -602.084 ],\n  \"2-1-3\": [ 998.1105, 137.87343, -537.874 ],\n  \"2-1-4\": [ 968.794, 145.48723, -532.609 ],\n  \"2-1-5\": [ 980.14075, 149.76472, -572.076 ],\n  \"2-1-6\": [ 927.0305, 154.8074, -525.698 ],\n  \"2-1-7\": [ 868.3758, 161.64398, -540.436 ],\n  \"2-1-8\": [ 826.0617, 169.97195, -622.549 ],\n  \"2-1-9\": [ 791.4233, 169.97707, -605.06 ],\n  \"2-1-10\": [ 808.4578, 167.98035, -561.419 ],\n  \"2-1-11\": [ 777.91656, 165.38742, -513.138 ],\n  \"2-1-12\": [ 755.0171, 152.91103, -477.354 ],\n  \"2-1-13\": [ 819.39417, 160.01215, -449.342 ],\n  \"2-1-14\": [ 896.1016, 145.6066, -476.972 ],\n  \"2-1-15\": [ 935.18195, 133.67989, -402.373 ],\n  \"2-1-16\": [ 889.71594, 146.00702, -415.899 ],\n  \"2-1-17\": [ 955.3469, 129.68285, -466.468 ],\n  \"2-1-18\": [ 1013.7858, 120.823044, -437.832 ],\n  \"2-1-19\": [ 1048.2728, 113.41807, -454.329 ],\n  \"2-1-20\": [ 1041.8424, 115.785736, -399.116 ],\n  \"3-1-1\": [ 1166.2239, 148.64473, -621.404 ],\n  \"3-1-2\": [ 1172.457, 162.74866, -660.805 ],\n  \"3-1-3\": [ 1223.5143, 136.7581, -586.718 ],\n  \"3-1-4\": [ 1368.7694, 109.872635, -455.703 ],\n  \"3-1-5\": [ 1239.3713, 109.246826, -521.259 ],\n  \"3-1-6\": [ 1317.0145, 121.572, -521.628 ],\n  \"3-1-7\": [ 1250.6053, 175.478, -630.383 ],\n  \"3-1-8\": [ 1252.2467, 136.92429, -549.994 ],\n  \"3-1-9\": [ 1229.5754, 178.855, -665.744 ],\n  \"3-1-10\": [ 1304.6097, 148.9432, -622.814 ],\n  \"3-1-11\": [ 1280.2036, 158.64078, -672.833 ],\n  \"3-1-12\": [ 1349.3269, 162.84607, -664.68 ],\n  \"3-1-13\": [ 1377.0212, 137.46648, -587.322 ],\n  \"3-1-14\": [ 1422.3616, 138.84416, -532.106 ],\n  \"3-1-15\": [ 1335.6522, 118.480675, -740.591 ],\n  \"3-1-16\": [ 1355.4738, 118.01001, -742.209 ],\n  \"3-1-17\": [ 1398.3975, 127.01507, -769.613 ],\n  \"3-2-1\": [ 1268.6038, 107.83134, -457.391 ],\n  \"3-2-2\": [ 1284.0038, 107.09443, -414.334 ],\n  \"3-2-3\": [ 1317.0428, 106.87741, -425.788 ],\n  \"3-2-4\": [ 1312.3889, 106.8793, -453.98 ],\n  \"3-2-5\": [ 1338.2208, 106.874664, -397.197 ],\n  \"3-2-6\": [ 1387.3527, 106.87425, -423.341 ],\n  \"3-2-7\": [ 1446.9364, 107.79708, -401.536 ],\n  \"3-2-8\": [ 1438.5587, 122.18235, -467.95 ],\n  \"3-2-9\": [ 1423.8807, 124.54978, -481.438 ],\n  \"3-2-10\": [ 1483.9543, 115.96129, -446.092 ],\n  \"3-2-11\": [ 1547.9482, 113.54719, -485.21 ],\n  \"3-2-12\": [ 1533.3644, 135.355, -523.593 ],\n  \"3-2-13\": [ 1489.3297, 139.802, -524.129 ],\n  \"3-2-14\": [ 1580.447, 110.89938, -495.994 ],\n  \"3-2-15\": [ 1403.1288, 163.38531, -672.494 ],\n  \"3-3-1\": [ 1637.1284, 111.57947, -586.188 ],\n  \"3-3-2\": [ 1599.1449, 111.20168, -604.992 ],\n  \"3-3-3\": [ 1579.2415, 109.625404, -626.118 ],\n  \"3-3-4\": [ 1608.6857, 112.41428, -624.816 ],\n  \"3-3-5\": [ 1636.4196, 111.6, -603.747 ],\n  \"3-3-6\": [ 1640.0033, 114.10015, -618.526 ],\n  \"3-3-7\": [ 1631.7852, 113.83738, -642.011 ],\n  \"3-3-8\": [ 1627.748, 113.97639, -681.149 ],\n  \"3-3-9\": [ 1564.9512, 109.265236, -667.666 ],\n  \"3-3-10\": [ 1598.6761, 113.272575, -655.203 ],\n  \"3-3-11\": [ 1567.2847, 109.39358, -683.849 ],\n  \"3-3-12\": [ 1516.51, 110.807556, -754.435 ],\n  \"3-3-13\": [ 1543.0148, 107.68, -677.908 ],\n  \"3-3-14\": [ 1529.3859, 110.63602, -766.657 ],\n  \"3-3-15\": [ 1528.384, 107.65499, -680.014 ],\n  \"3-3-16\": [ 1557.0208, 109.42456, -711.285 ],\n  \"3-3-17\": [ 1579.5963, 109.45525, -727.466 ],\n  \"3-3-18\": [ 1558.6086, 110.810776, -750.397 ],\n  \"3-3-19\": [ 1581.0404, 109.75419, -765.358 ],\n  \"3-3-20\": [ 1577.7737, 108.51887, -786.112 ],\n  \"3-3-21\": [ 1567.3444, 109.25985, -773.443 ],\n  \"3-4-1\": [ 1557.9932, 148.49863, -573.779 ],\n  \"3-4-2\": [ 1542.5685, 150.396, -602.9 ],\n  \"3-4-3\": [ 1510.425, 159.1086, -627.165 ],\n  \"3-4-4\": [ 1504.174, 156.82823, -610.742 ],\n  \"3-4-5\": [ 1518.4513, 152.58159, -600.178 ],\n  \"4-1-1\": [ 1326.0043, 191.05098, -789.476 ],\n  \"4-1-2\": [ 1313.2537, 187.21994, -800.739 ],\n  \"4-1-3\": [ 1258.6984, 232.99533, -798.872 ],\n  \"4-1-4\": [ 1398.1449, 259.9759, -948.958 ],\n  \"4-1-5\": [ 1254.5764, 231.94565, -867.306 ],\n  \"4-1-6\": [ 1263.686, 231.26201, -887.833 ],\n  \"4-1-7\": [ 1225.5981, 239.51578, -835.693 ],\n  \"4-1-8\": [ 1430.4899, 221.46411, -893.678 ],\n  \"4-2-1\": [ 1186.2485, 255.95497, -714.115 ],\n  \"4-2-2\": [ 980.532, 324.29407, -790.475 ],\n  \"4-2-3\": [ 891.632, 290.7475, -726.974 ],\n  \"4-2-4\": [ 870.5291, 292.76895, -759.284 ],\n  \"4-2-5\": [ 847.737, 294.261, -760.171 ],\n  \"4-2-6\": [ 798.2488, 295.3543, -775.654 ],\n  \"5-1-1\": [ 765.95526, 297.598, -775.314 ],\n  \"5-1-2\": [ 738.2669, 304.09116, -824.64 ],\n  \"5-1-3\": [ 651.2396, 336.581, -990.302 ],\n  \"5-1-4\": [ 722.3125, 301.796, -788.843 ],\n  \"5-1-5\": [ 619.52386, 342.035, -1032.077 ],\n  \"5-1-6\": [ 730.72144, 304.3952, -826.80194 ],\n  \"5-1-7\": [ 728.76013, 313.474, -844.992 ],\n  \"5-1-8\": [ 661.1661, 343.0235, -1013.18 ],\n  \"5-1-9\": [ 689.47614, 308.95673, -823.834 ],\n  \"5-1-10\": [ 722.8817, 314.38535, -862.055 ],\n  \"5-1-11\": [ 670.3366, 352.486, -1102.322 ],\n  \"5-1-12\": [ 699.7691, 315.1623, -873.444 ],\n  \"5-1-13\": [ 592.914, 346.45, -1069.327 ],\n  \"5-1-14\": [ 655.0146, 311.145, -837.386 ],\n  \"5-1-15\": [ 661.17773, 315.225, -856.022 ],\n  \"5-1-16\": [ 678.3368, 316.86, -873.519 ],\n  \"5-1-17\": [ 685.0733, 324.221, -897.534 ],\n  \"5-1-18\": [ 659.46326, 322.611, -902.889 ],\n  \"5-1-19\": [ 654.4056, 326.352, -933.8 ],\n  \"5-1-20\": [ 612.98004, 331.624, -946.922 ],\n  \"5-2-1\": [ 641.0928, 361.6279, -1119.441 ],\n  \"5-2-2\": [ 683.27325, 364.33542, -1152.442 ],\n  \"5-2-3\": [ 652.9494, 361.70752, -1186.411 ],\n  \"5-2-4\": [ 621.7926, 368.18106, -1207.534 ],\n  \"5-2-5\": [ 647.7449, 372.94666, -1244.846 ],\n  \"5-2-6\": [ 684.0408, 375.7238, -1233.234 ],\n  \"5-2-7\": [ 729.71515, 366.01486, -1211.88 ],\n  \"5-2-8\": [ 721.07025, 358.82217, -1128.209 ],\n  \"5-2-9\": [ 709.3635, 360.61716, -1157.045 ],\n  \"5-2-10\": [ 736.06866, 363.856, -1164.882 ],\n  \"5-2-11\": [ 750.29114, 371.1398, -1167.331 ],\n  \"5-2-12\": [ 744.8277, 365.95038, -1189.159 ],\n  \"5-2-13\": [ 741.97107, 375.57123, -1123.141 ],\n  \"5-2-14\": [ 776.38226, 375.52618, -1139.789 ],\n  \"5-2-15\": [ 796.93665, 378.48047, -1183.039 ],\n  \"5-2-16\": [ 775.4524, 373.86682, -1211.284 ],\n  \"5-2-17\": [ 750.82416, 375.2538, -1231.052 ],\n  \"5-2-18\": [ 782.8879, 385.35385, -1250.207 ],\n  \"5-2-19\": [ 815.03577, 387.32285, -1242.429 ],\n  \"5-2-20\": [ 828.946, 387.173, -1217.107 ],\n  \"5-2-21\": [ 846.39886, 391.44836, -1216.813 ],\n  \"5-2-22\": [ 843.39026, 390.8575, -1241.585 ],\n  \"5-2-23\": [ 865.3236, 399.19443, -1275.509 ],\n  \"5-2-24\": [ 877.3149, 396.91818, -1240.418 ],\n  \"5-2-25\": [ 902.2001, 401.30612, -1253.411 ],\n  \"5-2-26\": [ 898.1883, 401.94745, -1285.14 ],\n  \"5-3-1\": [ 997.987, 396.41617, -1240.59 ],\n  \"5-3-2\": [ 1055.2811, 394.511, -1218.197 ],\n  \"5-3-3\": [ 1057.0312, 396.1446, -1267.314 ],\n  \"5-3-4\": [ 1082.6277, 394.909, -1298.119 ],\n  \"5-3-5\": [ 1126.372, 394.87918, -1257.996 ],\n  \"5-3-6\": [ 1110.8551, 393.87692, -1228.992 ],\n  \"5-3-7\": [ 1146.7217, 395.55356, -1214.02 ],\n  \"5-3-8\": [ 1070.4153, 396.07645, -1181.78 ],\n  \"5-3-9\": [ 1106.8676, 399.80942, -1180.257 ],\n  \"5-3-10\": [ 1248.1694, 319.829, -1079.226 ],\n  \"5-3-11\": [ 957.5488, 401.17807, -1260.109 ],\n  \"5-3-12\": [ 985.62994, 399.9053, -1289.229 ],\n  \"5-3-13\": [ 1017.34155, 403.57, -1293.179 ],\n  \"5-3-14\": [ 926.9026, 404.90158, -1288.843 ],\n  \"6-1-1\": [ 864.757, 456.2357, -1008.809 ],\n  \"6-1-2\": [ 873.2546, 448.95782, -1042.361 ],\n  \"6-1-3\": [ 921.7229, 448.78796, -1064.561 ],\n  \"6-1-4\": [ 898.4309, 451.01025, -1043.246 ],\n  \"6-1-5\": [ 927.648, 450.26147, -946.941 ],\n  \"6-1-6\": [ 911.9989, 450.29236, -973.686 ],\n  \"6-2-1\": [ 976.18933, 453.37, -922.029 ],\n  \"6-2-2\": [ 991.1592, 451.4779, -954.83 ],\n  \"6-2-3\": [ 1036.5323, 449.75388, -957.164 ],\n  \"6-2-4\": [ 1029.8392, 449.92612, -1008.871 ],\n  \"6-2-5\": [ 1047.2432, 454.553, -1030.271 ],\n  \"7-1-1\": [ 707.7987, 139.10295, -390.592 ],\n  \"7-1-2\": [ 707.1355, 136.63344, -439.529 ],\n  \"7-1-3\": [ 667.399, 134.95134, -365.918 ],\n  \"7-1-4\": [ 661.81665, 135.03069, -425.384 ],\n  \"7-1-5\": [ 633.237, 132.92201, -408.488 ],\n  \"7-1-6\": [ 563.8754, 134.02281, -414.988 ],\n  \"7-1-7\": [ 644.5717, 140.54465, -543.403 ],\n  \"7-1-8\": [ 677.98395, 136.95573, -402.74 ],\n  \"7-1-9\": [ 538.0679, 161.875, -577.022 ],\n  \"7-1-10\": [ 596.0277, 153.03377, -656.538 ],\n  \"7-1-11\": [ 516.3441, 147.59729, -497.962 ],\n  \"7-1-12\": [ 410.9617, 138.84058, -545.376 ],\n  \"7-1-13\": [ 466.82968, 145.364, -392.768 ],\n  \"7-1-14\": [ 502.85052, 168.20988, -614.72 ],\n  \"7-1-15\": [ 453.0873, 153.91959, -669.536 ],\n  \"7-1-16\": [ 528.23987, 158.44182, -687.773 ],\n  \"7-1-17\": [ 525.1523, 152.47316, -524.9303 ],\n  \"7-1-18\": [ 554.7286, 154.89615, -485.269 ],\n  \"7-1-19\": [ 621.6161, 151.8455, -499.451 ],\n  \"7-1-20\": [ 631.5874, 142.45407, -437.723 ],\n  \"7-2-1\": [ 369.8985, 158.82059, -911.846 ],\n  \"7-2-2\": [ 399.74078, 163.86128, -999.486 ],\n  \"7-2-3\": [ 344.6998, 166.23573, -965.888 ],\n  \"7-2-4\": [ 288.0577, 169.31651, -1015.487 ],\n  \"7-2-5\": [ 280.67697, 174.83067, -1055.033 ],\n  \"7-2-6\": [ 320.61887, 177.6219, -1063.001 ],\n  \"7-2-7\": [ 337.09232, 179.85603, -1077.462 ],\n  \"7-2-8\": [ 359.27032, 169.58286, -1040.055 ],\n  \"7-2-9\": [ 386.61865, 171.6276, -1062.528 ],\n  \"7-2-10\": [ 427.97385, 176.25217, -1031.294 ],\n  \"7-2-11\": [ 443.15656, 176.65547, -1103.988 ],\n  \"7-2-12\": [ 415.3937, 178.8055, -1106.969 ],\n  \"7-2-13\": [ 398.0623, 177.64043, -1097.182 ],\n  \"7-2-14\": [ 363.10443, 183.07512, -1107.879 ],\n  \"7-2-15\": [ 313.65442, 187.49307, -1131.615 ],\n  \"7-2-16\": [ 277.72003, 184.11307, -1132.776 ],\n  \"7-2-17\": [ 298.78662, 194.51111, -1186.072 ],\n  \"7-2-18\": [ 350.87668, 198.44693, -1187.13 ],\n  \"7-2-19\": [ 379.2678, 198.948, -1206.917 ],\n  \"7-2-20\": [ 422.49075, 196.098, -1199.341 ],\n  \"7-2-21\": [ 409.48438, 207.64, -1245.686 ],\n  \"7-2-22\": [ 278.84842, 208.42476, -1255.184 ],\n  \"7-2-23\": [ 331.18723, 213.1209, -1285.619 ],\n  \"7-2-24\": [ 363.42596, 212.64319, -1309.486 ],\n  \"7-2-25\": [ 389.21204, 211.91435, -1267.414 ],\n  \"7-3-1\": [ 535.1756, 188.06117, -810.239 ],\n  \"7-3-2\": [ 480.3213, 198.75916, -848.698 ],\n  \"7-3-3\": [ 462.09497, 198.59908, -1016.36 ],\n  \"7-3-4\": [ 457.4317, 193.74342, -1043.073 ],\n  \"7-3-5\": [ 463.0531, 217.31798, -950.98 ],\n  \"7-3-6\": [ 509.00867, 215.44481, -880.257 ],\n  \"7-3-7\": [ 559.1606, 164.69261, -733.974 ],\n  \"7-3-8\": [ 500.93512, 167.76015, -793.335 ],\n  \"7-3-9\": [ 485.68698, 162.62012, -752.379 ],\n  \"7-3-10\": [ 406.30353, 153.9614, -748.303 ],\n  \"7-3-11\": [ 368.1815, 155.64052, -754.78 ],\n  \"7-3-12\": [ 376.59338, 154.67438, -819.663 ],\n  \"7-3-13\": [ 415.3626, 158.39568, -868.925 ],\n  \"8-1-1\": [ 1555.1887, 106.99688, -294.945 ],\n  \"8-1-2\": [ 1548.08, 107.4315, -341.72 ],\n  \"8-1-3\": [ 1530.7975, 107.9003, -363.469 ],\n  \"8-1-4\": [ 1575.3815, 107.8586, -319.375 ],\n  \"8-1-5\": [ 1596.5104, 107.77778, -309.866 ],\n  \"8-1-6\": [ 1595.3533, 108.94459, -331.636 ],\n  \"8-1-7\": [ 1589.355, 111.04423, -362.351 ],\n  \"8-1-8\": [ 1584.065, 112.557365, -426.743 ],\n  \"8-1-9\": [ 1639.5199, 110.241264, -451.476 ],\n  \"8-1-10\": [ 1615.0238, 111.04204, -453.546 ],\n  \"8-1-11\": [ 1649.6805, 109.049614, -330.269 ],\n  \"8-1-12\": [ 1666.4412, 109.42118, -344.406 ],\n  \"8-1-13\": [ 1712.6609, 109.47252, -355.267 ],\n  \"8-1-14\": [ 1716.4537, 109.50023, -397.155 ],\n  \"8-1-15\": [ 1699.4832, 110.03478, -434.094 ],\n  \"8-1-16\": [ 1715.7345, 110.38658, -453.72 ],\n  \"8-2-1\": [ 1657.4487, 111.902214, -493.887 ],\n  \"8-2-2\": [ 1704.7128, 111.14012, -496.467 ],\n  \"8-2-3\": [ 1706.7322, 111.206375, -524.444 ],\n  \"8-2-4\": [ 1703.4409, 112.30228, -563.071 ],\n  \"8-2-5\": [ 1667.1761, 114.55351, -575.227 ],\n  \"8-2-6\": [ 1681.0483, 114.02905, -601.418 ],\n  \"8-2-7\": [ 1723.7335, 113.554276, -627.764 ],\n  \"8-2-8\": [ 1712.9492, 113.76922, -639.996 ],\n  \"8-2-9\": [ 1684.1245, 114.1375, -654.181 ],\n  \"8-2-10\": [ 1663.762, 116.224846, -672.756 ],\n  \"8-2-11\": [ 1703.3634, 114.23006, -682.909 ],\n  \"8-2-12\": [ 1706.4171, 114.00804, -663.672 ],\n  \"8-3-1\": [ 1676.9973, 114.936165, -701.10364 ],\n  \"8-3-2\": [ 1744.0432, 112.00452, -747.16 ],\n  \"8-3-3\": [ 1762.6487, 110.999, -788.2 ],\n  \"8-3-4\": [ 1675.5552, 113.877205, -786.291 ],\n  \"8-3-5\": [ 1663.4901, 113.64603, -761.073 ],\n  \"9-1-1\": [ 1504.1533, 135.6679, -790.095 ],\n  \"9-1-2\": [ 1579.2461, 135.7955, -810.102 ],\n  \"9-1-3\": [ 1578.0872, 154.85283, -838.029 ],\n  \"9-1-4\": [ 1523.4652, 164.95158, -845.217 ],\n  \"9-1-5\": [ 1490.4625, 182.53535, -850.239 ],\n  \"9-1-6\": [ 1670.8663, 134.951, -863.564 ],\n  \"9-1-7\": [ 1686.7887, 134.9513, -820.049 ],\n  \"9-1-8\": [ 1669.9598, 135.86174, -798.882 ],\n  \"9-1-9\": [ 1770.5015, 135.855, -817.562 ],\n  \"9-1-10\": [ 1718.8726, 165.40875, -868.039 ],\n  \"9-1-11\": [ 1758.3578, 139.27536, -897.189 ],\n  \"9-1-12\": [ 1679.7844, 163.36784, -918.774 ],\n  \"9-1-13\": [ 1617.7446, 179.31053, -944.424 ],\n  \"9-1-14\": [ 1597.6184, 162.26648, -1014.642 ],\n  \"9-1-15\": [ 1735.7505, 134.46364, -1000.308 ],\n  \"9-1-16\": [ 1678.8804, 134.89429, -1087.773 ],\n  \"9-1-17\": [ 1586.1365, 175.14705, -1102.41 ],\n  \"9-1-18\": [ 1615.7922, 135.92929, -1129.803 ],\n  \"9-1-19\": [ 1591.52, 136.0671, -1163.238 ],\n  \"9-1-20\": [ 1695.6937, 136.29211, -1163.76 ],\n  \"9-1-21\": [ 1574.0894, 159.7138, -1191.205 ],\n  \"9-1-22\": [ 1503.1017, 136.05283, -1223.222 ],\n  \"9-1-23\": [ 1475.9567, 136.69885, -1183.543 ],\n  \"9-1-24\": [ 1435.348, 136.1803, -1147.136 ],\n  \"9-1-25\": [ 1445.3005, 135.87, -1106.021 ],\n  \"10-1-1\": [ 669.2722, 182.77, -1692.935 ],\n  \"10-1-2\": [ 708.2694, 190.38007, -1584.594 ],\n  \"10-1-3\": [ 755.2973, 186.80806, -1591.727 ],\n  \"10-1-4\": [ 841.6826, 183.48526, -1466.513 ],\n  \"10-1-5\": [ 780.34595, 185.27036, -1492.687 ],\n  \"10-1-6\": [ 773.492, 188.45854, -1459.688 ],\n  \"10-1-7\": [ 705.46655, 185.27, -1423.438 ],\n  \"10-1-8\": [ 593.47565, 188.5799, -1663.523 ],\n  \"10-1-9\": [ 717.5562, 183.84134, -1508.371 ],\n  \"10-1-10\": [ 654.8929, 183.24605, -1578.562 ],\n  \"10-1-11\": [ 630.7513, 177.74345, -1539.095 ],\n  \"10-1-12\": [ 572.3651, 185.05518, -1628.113 ],\n  \"10-1-13\": [ 529.055, 188.8755, -1663.241 ],\n  \"10-1-14\": [ 473.07568, 185.06699, -1615.032 ],\n  \"10-1-15\": [ 419.01776, 189.51976, -1641.168 ],\n  \"10-1-16\": [ 353.521, 184.48824, -1631.146 ],\n  \"10-1-17\": [ 378.69937, 203.79393, -1692.141 ],\n  \"10-2-1\": [ 382.40912, 192.04659, -1655.473 ],\n  \"10-2-2\": [ 436.93774, 190.95218, -1555.921 ],\n  \"10-2-3\": [ 357.44885, 183.822, -1559.655 ],\n  \"10-2-4\": [ 552.33344, 191.54659, -1535.022 ],\n  \"10-2-5\": [ 557.4272, 185.10689, -1479.699 ],\n  \"10-2-6\": [ 626.69086, 184.96893, -1419.323 ],\n  \"10-2-7\": [ 581.90485, 186.1944, -1381.223 ],\n  \"10-2-8\": [ 528.37946, 185.47147, -1423.236 ],\n  \"10-2-9\": [ 498.9816, 184.89848, -1358.385 ],\n  \"10-2-10\": [ 481.32437, 198.6911, -1288.875 ],\n  \"10-2-11\": [ 343.01382, 186.22382, -1464.158 ],\n  \"10-2-12\": [ 352.13977, 191.32964, -1364.287 ],\n  \"10-2-13\": [ 384.45575, 180.01268, -1406.858 ],\n  \"10-2-14\": [ 415.4119, 182.81897, -1512.64 ],\n  \"10-2-15\": [ 468.5659, 183.861, -1480.801 ],\n  \"11-1-1\": [ 904.8035, 191.84674, -1472.809 ],\n  \"11-1-2\": [ 888.94727, 192.06335, -1509.557 ],\n  \"11-1-3\": [ 930.9065, 187.54407, -1535.127 ],\n  \"11-1-4\": [ 868.38586, 190.35971, -1554.811 ],\n  \"11-1-5\": [ 949.6296, 184.22351, -1603.84 ],\n  \"11-1-6\": [ 907.0732, 185.12164, -1621.015 ],\n  \"11-1-7\": [ 799.0595, 203.90375, -1627.241 ],\n  \"11-1-8\": [ 847.8456, 190.65326, -1670.272 ],\n  \"11-1-9\": [ 931.8259, 184.6732, -1652.769 ],\n  \"11-1-10\": [ 956.12054, 189.44838, -1691.245 ],\n  \"11-1-11\": [ 976.6099, 184.81346, -1652.737 ],\n  \"11-1-12\": [ 1031.6913, 185.62062, -1624.439 ],\n  \"11-1-13\": [ 1125.1874, 184.22322, -1633.238 ],\n  \"11-1-14\": [ 1176.729, 184.153, -1508.272 ],\n  \"11-1-15\": [ 1172.0875, 184.62653, -1618.838 ],\n  \"11-1-16\": [ 1221.5781, 184.22395, -1652.276 ],\n  \"11-1-17\": [ 1265.6476, 184.3437, -1679.449 ],\n  \"11-1-18\": [ 1298.7477, 184.22313, -1646.433 ],\n  \"11-1-19\": [ 1321.9968, 190.632, -1650.338 ],\n  \"11-1-20\": [ 1207.2268, 185.084, -1550.199 ],\n  \"11-1-21\": [ 1241.2039, 184.64323, -1475.407 ],\n  \"11-1-22\": [ 1192.6494, 184.894, -1438.851 ],\n  \"11-1-23\": [ 1236.7352, 204.88625, -1417.898 ],\n  \"11-1-24\": [ 1263.7279, 204.9939, -1444.988 ],\n  \"11-1-25\": [ 1219.0742, 264.54733, -1341.863 ],\n  \"11-1-26\": [ 1056.0354, 264.832, -1420.904 ],\n  \"11-1-27\": [ 1006.7584, 227.71002, -1485.031 ],\n  \"11-1-28\": [ 1040.4497, 184.223, -1555.138 ],\n  \"11-1-29\": [ 1127.3389, 184.38539, -1509.865 ],\n  \"11-2-1\": [ 1339.0238, 158.88576, -1391.738 ],\n  \"11-2-2\": [ 1416.4022, 151.073, -1459.796 ],\n  \"11-2-3\": [ 1381.5237, 154.732, -1388.307 ],\n  \"11-2-4\": [ 1323.5999, 158.77534, -1419.645 ],\n  \"11-2-5\": [ 1285.411, 149.6697, -1508.172 ],\n  \"11-2-6\": [ 1348.785, 149.82632, -1566.319 ],\n  \"11-2-7\": [ 1340.0052, 151.081, -1459.918 ],\n  \"11-2-8\": [ 1344.0778, 149.78392, -1510.286 ],\n  \"11-2-9\": [ 1294.3138, 149.78809, -1568.56 ],\n  \"11-2-10\": [ 1455.397, 157.13982, -1519.702 ],\n  \"11-2-11\": [ 1396.2888, 150.56128, -1567.269 ],\n  \"11-2-12\": [ 1375.0669, 159.43933, -1600.436 ],\n  \"11-2-13\": [ 1480.5106, 147.07672, -1654.515 ],\n  \"11-2-14\": [ 1483.9135, 146.22993, -1587.261 ],\n  \"11-2-15\": [ 1528.5228, 154.74026, -1551.909 ],\n  \"11-2-16\": [ 1572.5388, 162.41393, -1521.592 ],\n  \"11-2-17\": [ 1563.5168, 156.35912, -1711.251 ],\n  \"11-2-18\": [ 1614.7557, 160.38036, -1669.059 ],\n  \"11-2-19\": [ 1567.6913, 166.59479, -1635.359 ],\n  \"11-2-20\": [ 1698.3314, 165.62724, -1656.547 ],\n  \"11-2-21\": [ 1711.5253, 164.236, -1616.213 ],\n  \"11-2-22\": [ 1647.1498, 159.64148, -1607.39 ],\n  \"11-2-23\": [ 1628.6115, 159.0479, -1545.598 ],\n  \"11-2-24\": [ 1657.4407, 164.0309, -1521.895 ],\n  \"11-2-25\": [ 1338.3695, 149.78305, -1614.628 ],\n  \"11-3-1\": [ 1468.5099, 186.826, -1405.306 ],\n  \"11-3-2\": [ 1426.0383, 187.40314, -1338.052 ],\n  \"11-3-3\": [ 1357.8121, 202.73274, -1304.231 ],\n  \"11-3-4\": [ 1327.475, 201.63109, -1335.284 ],\n  \"11-3-5\": [ 1353.486, 203.59282, -1213.616 ],\n  \"11-3-6\": [ 1409.9791, 183.78714, -1247.936 ],\n  \"11-3-7\": [ 1502.0653, 184.242, -1278.927 ],\n  \"11-3-8\": [ 1534.4829, 203.0619, -1432.727 ],\n  \"11-3-9\": [ 1598.4512, 193.348, -1393.876 ],\n  \"11-3-10\": [ 1674.4226, 185.39008, -1481.686 ],\n  \"11-3-11\": [ 1637.6041, 186.43036, -1326.174 ],\n  \"11-3-12\": [ 1651.385, 187.087, -1232.28 ],\n  \"11-3-13\": [ 1551.782, 204.06793, -1351.94 ],\n  \"11-3-14\": [ 1602.7625, 201.18614, -1334.228 ],\n  \"11-3-15\": [ 1613.6155, 203.35764, -1241.687 ],\n  \"11-3-16\": [ 1366.9633, 198.361, -1339.564 ]\n}"
  },
  {
    "path": "RaidCrawler.Core/Schemas/raids.fbs",
    "content": "namespace pkNX.Structures.FlatBuffers.Gen9;\nattribute \"fs_vector\";\nattribute \"fs_serializer\";\nattribute \"fs_valueStruct\";\nattribute \"fs_nonVirtual\";\nattribute \"fs_unsafeStructVector\";\n\nenum RaidRomType : short {\n    BOTH = 0,\n    TYPE_A = 1,\n    TYPE_B = 2,\n}\n\ntable RaidEnemyTableArray (fs_serializer:\"Greedy\") {\n    Table:[RaidEnemyTable] (required);\n}\n\ntable RaidEnemyTable {\n    Info:RaidEnemyInfo (required);\n}\n\ntable DeliveryRaidEnemyTableArray (fs_serializer:\"Greedy\") {\n    Table:[DeliveryRaidEnemyTable] (required);\n}\n\ntable DeliveryRaidEnemyTable {\n    Info:RaidEnemyInfo (required);\n}\n\ntable RaidTimeData {\n    IsActive:bool;\n    GameLimit:int;\n    ClientLimit:int;\n    CommandLimit:int;\n    PokeReviveTime:int;\n    AiIntervalTime:int;\n    AiIntervalRand:int;\n}\n\ntable RaidEnemyInfo {\n    RomVer:RaidRomType;\n    No:int;\n    DeliveryGroupID:byte;\n    Difficulty:int;\n    Rate:byte;\n    DropTableFix:ulong;\n    DropTableRandom:ulong;\n    CaptureRate:byte;\n    CaptureLv:byte;\n    BossPokePara:PokeDataBattle (required);\n    BossPokeSize:RaidBossSizeData (required);\n    BossDesc:RaidBossData (required);\n    TimeData:RaidTimeData (required);\n}\n\ntable RaidBossSizeData {\n    HeightType:int;\n    HeightValue:short;\n    WeightType:int;\n    WeightValue:short;\n    ScaleType:int;\n    ScaleValue:short;\n}\n\ntable RaidBossExtraData {\n    Timing:short;\n    Action:short;\n    Value:short;\n    Wazano:ushort;\n}\n\ntable RaidBossData {\n    HpCoef:short;\n    PowerChargeTrigerHp:byte;\n    PowerChargeTrigerTime:byte;\n    PowerChargeLimitTime:short;\n    PowerChargeCancelDamage:byte;\n    PowerChargePenaltyTime:short;\n    PowerChargePenaltyAction:ushort;\n    PowerChargeDamageRate:byte;\n    PowerChargeGemDamageRate:byte;\n    PowerChargeChangeGemDamageRate:byte;\n    ExtraAction1:RaidBossExtraData (required);\n    ExtraAction2:RaidBossExtraData (required);\n    ExtraAction3:RaidBossExtraData (required);\n    ExtraAction4:RaidBossExtraData (required);\n    ExtraAction5:RaidBossExtraData (required);\n    ExtraAction6:RaidBossExtraData (required);\n    DoubleActionTriggerHp:byte;\n    DoubleActionTriggerTime:byte;\n    DoubleActionRate:byte;\n}\n\ntable DeliveryRaidPriorityArray (fs_serializer:\"Greedy\") {\n    Table:[DeliveryRaidPriority] (required);\n}\n\ntable DeliveryRaidPriority {\n    VersionNo:int;\n    GroupID:DeliveryGroupID (required);\n}\n\ntable DeliveryGroupID {\n    GroupID:GroupIDSet (required);\n}\n\nstruct GroupIDSet (fs_valueStruct)\n{\n   Table:[byte:10] (fs_unsafeStructVector);\n}\n\ntable WazaSet {\n    WazaId:ushort = 0;\n    PointUp:byte = 0;\n}\n\ntable ParamSet {\n    HP :int;\n    ATK:int;\n    DEF:int;\n    SPA:int;\n    SPD:int;\n    SPE:int;\n}\n\ntable PokeDataBattle {\n    DevId:ushort;\n    FormId:short;\n    Sex:int;\n    Item:int;\n    Level:int;\n    BallId:int;\n    WazaType:int;\n    Waza1:WazaSet (required);\n    Waza2:WazaSet (required);\n    Waza3:WazaSet (required);\n    Waza4:WazaSet (required);\n    GemType:int;\n    Seikaku:int;\n    Tokusei:int;\n    TalentType:int;\n    TalentValue:ParamSet (required);\n    TalentVnum:byte;\n    EffortValue:ParamSet (required);\n    RareType:int;\n    ScaleType:int;\n    ScaleValue:short;\n}\n\ntable DeliveryRaidLotteryRewardItemArray (fs_serializer:\"Greedy\") {\n    Table:[DeliveryRaidLotteryRewardItem] (required);\n}\n\ntable DeliveryRaidLotteryRewardItem {\n    TableName:ulong;\n    RewardItem00:RaidLotteryRewardItemInfo (required);\n    RewardItem01:RaidLotteryRewardItemInfo (required);\n    RewardItem02:RaidLotteryRewardItemInfo (required);\n    RewardItem03:RaidLotteryRewardItemInfo (required);\n    RewardItem04:RaidLotteryRewardItemInfo (required);\n    RewardItem05:RaidLotteryRewardItemInfo (required);\n    RewardItem06:RaidLotteryRewardItemInfo (required);\n    RewardItem07:RaidLotteryRewardItemInfo (required);\n    RewardItem08:RaidLotteryRewardItemInfo (required);\n    RewardItem09:RaidLotteryRewardItemInfo (required);\n    RewardItem10:RaidLotteryRewardItemInfo (required);\n    RewardItem11:RaidLotteryRewardItemInfo (required);\n    RewardItem12:RaidLotteryRewardItemInfo (required);\n    RewardItem13:RaidLotteryRewardItemInfo (required);\n    RewardItem14:RaidLotteryRewardItemInfo (required);\n    RewardItem15:RaidLotteryRewardItemInfo (required);\n    RewardItem16:RaidLotteryRewardItemInfo (required);\n    RewardItem17:RaidLotteryRewardItemInfo (required);\n    RewardItem18:RaidLotteryRewardItemInfo (required);\n    RewardItem19:RaidLotteryRewardItemInfo (required);\n    RewardItem20:RaidLotteryRewardItemInfo (required);\n    RewardItem21:RaidLotteryRewardItemInfo (required);\n    RewardItem22:RaidLotteryRewardItemInfo (required);\n    RewardItem23:RaidLotteryRewardItemInfo (required);\n    RewardItem24:RaidLotteryRewardItemInfo (required);\n    RewardItem25:RaidLotteryRewardItemInfo (required);\n    RewardItem26:RaidLotteryRewardItemInfo (required);\n    RewardItem27:RaidLotteryRewardItemInfo (required);\n    RewardItem28:RaidLotteryRewardItemInfo (required);\n    RewardItem29:RaidLotteryRewardItemInfo (required);\n}\n\ntable DeliveryRaidFixedRewardItemArray (fs_serializer:\"Greedy\") {\n    Table:[DeliveryRaidFixedRewardItem] (required);\n}\n\ntable DeliveryRaidFixedRewardItem {\n    TableName:ulong;\n    RewardItem00:RaidFixedRewardItemInfo (required);\n    RewardItem01:RaidFixedRewardItemInfo (required);\n    RewardItem02:RaidFixedRewardItemInfo (required);\n    RewardItem03:RaidFixedRewardItemInfo (required);\n    RewardItem04:RaidFixedRewardItemInfo (required);\n    RewardItem05:RaidFixedRewardItemInfo (required);\n    RewardItem06:RaidFixedRewardItemInfo (required);\n    RewardItem07:RaidFixedRewardItemInfo (required);\n    RewardItem08:RaidFixedRewardItemInfo (required);\n    RewardItem09:RaidFixedRewardItemInfo (required);\n    RewardItem10:RaidFixedRewardItemInfo (required);\n    RewardItem11:RaidFixedRewardItemInfo (required);\n    RewardItem12:RaidFixedRewardItemInfo (required);\n    RewardItem13:RaidFixedRewardItemInfo (required);\n    RewardItem14:RaidFixedRewardItemInfo (required);\n}\n\ntable RaidLotteryRewardItemInfo {\n    Category:int;\n    ItemID:int;\n    Num:byte;\n    Rate:int;\n    RareItemFlag:bool;\n}\n\ntable RaidFixedRewardItemInfo {\n    Category:int;\n    SubjectType:int;\n    ItemID:int;\n    Num:byte;\n}"
  },
  {
    "path": "RaidCrawler.Core/Structures/Areas.cs",
    "content": "using PKHeX.Core;\n\nnamespace RaidCrawler.Core.Structures;\n\npublic static class Areas\n{\n    private static readonly string[] AreaList =\n    [\n        \"South Province (Area 1)\",\n        \"\", // Unused\n        \"\", // Unused\n        \"South Province (Area 2)\",\n        \"South Province (Area 4)\",\n        \"South Province (Area 6)\",\n        \"South Province (Area 5)\",\n        \"South Province (Area 3)\",\n        \"West Province (Area 1)\",\n        \"Asado Desert\",\n        \"West Province (Area 2)\",\n        \"West Province (Area 3)\",\n        \"Tagtree Thicket\",\n        \"East Province (Area 3)\",\n        \"East Province (Area 1)\",\n        \"East Province (Area 2)\",\n        \"Dalizapa Passage\",\n        \"Casseroya Lake\",\n        \"Glaseado Mountain\",\n        \"North Province (Area 3)\",\n        \"North Province (Area 1)\",\n        \"North Province (Area 2)\",\n    ];\n\n    private static readonly string[] AreaListKitakami =\n    [\n        \"Kitakami Road\",\n        \"Apple Hills\",\n        \"Reveler's Road\",\n        \"Oni Mountain\",\n        \"Infernal Pass\",\n        \"Crystal Pool\",\n        \"Wistful Fields\",\n        \"Mossfell Confluence\",\n        \"Fellhorn Gorge\",\n        \"Paradise Barrens\",\n        \"Timeless Woods\",\n    ];\n\n    private static readonly string[] AreaListBlueberry =\n    [\n        \"Savanna Biome\",\n        \"Coastal Biome\",\n        \"Canyon Biome\",\n        \"Polar Biome\",\n        \"Savanna Biome\",\n        \"Coastal Biome\",\n        \"Canyon Biome\",\n        \"Polar Biome\",\n    ];\n\n    public static string GetArea(int index, TeraRaidMapParent type) => type switch\n    {\n        TeraRaidMapParent.Kitakami => AreaListKitakami[index],\n        TeraRaidMapParent.Blueberry => AreaListBlueberry[index],\n        _ => AreaList[index],\n    };\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/FlatBufferStructures/DeliveryRaidFixedRewardItem.cs",
    "content": "namespace pkNX.Structures.FlatBuffers.Gen9;\n\n// ReSharper disable once ClassNeverInstantiated.Global\npublic partial class DeliveryRaidFixedRewardItem\n{\n    public const int Count = 15;\n\n    public RaidFixedRewardItemInfo GetReward(int index) => index switch\n    {\n        00 => RewardItem00,\n        01 => RewardItem01,\n        02 => RewardItem02,\n        03 => RewardItem03,\n        04 => RewardItem04,\n        05 => RewardItem05,\n        06 => RewardItem06,\n        07 => RewardItem07,\n        08 => RewardItem08,\n        09 => RewardItem09,\n        10 => RewardItem10,\n        11 => RewardItem11,\n        12 => RewardItem12,\n        13 => RewardItem13,\n        14 => RewardItem14,\n        _ => throw new ArgumentOutOfRangeException(nameof(index), index, null),\n    };\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/FlatBufferStructures/DeliveryRaidLotteryRewardItem.cs",
    "content": "namespace pkNX.Structures.FlatBuffers.Gen9;\n\n// ReSharper disable once ClassNeverInstantiated.Global\npublic partial class DeliveryRaidLotteryRewardItem\n{\n    public const int RewardItemCount = 30;\n\n    // Get reward item from index\n    public RaidLotteryRewardItemInfo GetRewardItem(int index) => index switch\n    {\n        00 => RewardItem00,\n        01 => RewardItem01,\n        02 => RewardItem02,\n        03 => RewardItem03,\n        04 => RewardItem04,\n        05 => RewardItem05,\n        06 => RewardItem06,\n        07 => RewardItem07,\n        08 => RewardItem08,\n        09 => RewardItem09,\n        10 => RewardItem10,\n        11 => RewardItem11,\n        12 => RewardItem12,\n        13 => RewardItem13,\n        14 => RewardItem14,\n        15 => RewardItem15,\n        16 => RewardItem16,\n        17 => RewardItem17,\n        18 => RewardItem18,\n        19 => RewardItem19,\n        20 => RewardItem20,\n        21 => RewardItem21,\n        22 => RewardItem22,\n        23 => RewardItem23,\n        24 => RewardItem24,\n        25 => RewardItem25,\n        26 => RewardItem26,\n        27 => RewardItem27,\n        28 => RewardItem28,\n        29 => RewardItem29,\n        _ => throw new ArgumentOutOfRangeException(nameof(index), index, null),\n    };\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/FlatBufferStructures/PokeDataBattle.cs",
    "content": "using PKHeX.Core;\n\nnamespace pkNX.Structures.FlatBuffers.Gen9;\n\n// ReSharper disable once ClassNeverInstantiated.Global\npublic partial class PokeDataBattle\n{\n    public void SerializePKHeX(BinaryWriter bw, sbyte captureLv, RaidSerializationFormat format)\n    {\n        if (format == RaidSerializationFormat.BaseROM)\n            AssertRegularFormat();\n\n        // If any PointUp for a move is nonzero, throw an exception.\n        if (Waza1.PointUp != 0 || Waza2.PointUp != 0 || Waza3.PointUp != 0 || Waza4.PointUp != 0)\n            throw new ArgumentOutOfRangeException(nameof(WazaSet.PointUp), $\"No {nameof(WazaSet.PointUp)} allowed!\");\n\n        // flag BallId if not none\n        if (BallId != 0)\n            throw new ArgumentOutOfRangeException(nameof(BallId), BallId, $\"No {nameof(BallId)} allowed!\");\n\n        bw.Write(SpeciesConverter.GetNational9(DevId));\n        bw.Write((byte)FormId);\n        bw.Write((byte)Sex);\n\n        bw.Write((byte)Tokusei);\n        bw.Write((byte)(TalentType == 1 ? TalentVnum : 0));\n        bw.Write((byte)RareType);\n        bw.Write((byte)captureLv);\n\n        // Write moves\n        bw.Write(Waza1.WazaId);\n        bw.Write(Waza2.WazaId);\n        bw.Write(Waza3.WazaId);\n        bw.Write(Waza4.WazaId);\n\n        // ROM raids with 5 stars have a few entries that are defined as DEFAULT\n        // If the type is not {specified}, the game will assume it is RANDOM.\n        // Thus, DEFAULT behaves like RANDOM.\n        // Let's clean up this mistake and make it explicit so we don't have to program this workaround in other tools.\n        var gem = GemType is 0 ? 1 : GemType;\n        bw.Write((byte)gem);\n    }\n\n    private void AssertRegularFormat()\n    {\n        if (TalentType != 1)\n            throw new ArgumentOutOfRangeException(nameof(TalentType), TalentType, \"Invalid talent type.\");\n        if (TalentVnum == 0 && DevId != (ushort)Species.Pachirisu && Level != 35) // nice mistake gamefreak -- 3star Pachirisu is 0 IVs.\n            throw new ArgumentOutOfRangeException(nameof(TalentVnum), TalentVnum, \"No min flawless IVs?\");\n        if (Seikaku != 0)\n            throw new ArgumentOutOfRangeException(nameof(Seikaku), Seikaku, $\"No {nameof(Seikaku)} allowed!\");\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/FlatBufferStructures/RaidBossData.cs",
    "content": "namespace pkNX.Structures.FlatBuffers.Gen9;\n\n// ReSharper disable once ClassNeverInstantiated.Global\npublic partial class RaidBossData\n{\n    public void SerializePKHeX(BinaryWriter bw)\n    {\n        bw.Write(ExtraAction1.Wazano);\n        bw.Write(ExtraAction2.Wazano);\n        bw.Write(ExtraAction3.Wazano);\n        bw.Write(ExtraAction4.Wazano);\n        bw.Write(ExtraAction5.Wazano);\n        bw.Write(ExtraAction6.Wazano);\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/FlatBufferStructures/RaidBossSizeData.cs",
    "content": "namespace pkNX.Structures.FlatBuffers.Gen9;\n\n// ReSharper disable once ClassNeverInstantiated.Global\npublic partial class RaidBossSizeData\n{\n    public void SerializePKHeX()\n    {\n        // If any property is not zero, throw an exception.\n        // if (HeightType != 0 || HeightValue != 0 || WeightType != 0 || WeightValue != 0 || ScaleType != 0 || ScaleValue != 0)\n        //     throw new ArgumentException(\"Expected default sizes.\");\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/FlatBufferStructures/RaidEnemyInfo.cs",
    "content": "namespace pkNX.Structures.FlatBuffers.Gen9;\n\n// ReSharper disable once ClassNeverInstantiated.Global\npublic partial class RaidEnemyInfo\n{\n    public void SerializePKHeX(\n        BinaryWriter bw,\n        byte star,\n        sbyte rate,\n        RaidSerializationFormat format\n    )\n    {\n        BossPokePara.SerializePKHeX(bw, CaptureLv, format);\n        BossPokeSize.SerializePKHeX();\n        bw.Write(DeliveryGroupID);\n\n        // Append RNG details.\n        bw.Write(star);\n        bw.Write(rate);\n    }\n\n    public void SerializeDistribution(BinaryWriter bw)\n    {\n        var b = BossPokePara;\n        if (b.TalentType > 2)\n            throw new InvalidDataException($\"Invalid talent type for {nameof(SerializeDistribution)}.\");\n\n        bw.Write(b.Seikaku == 0 ? (byte)25 : (byte)(b.Seikaku - 1));\n        bw.Write((byte)b.TalentValue.HP);\n        bw.Write((byte)b.TalentValue.ATK);\n        bw.Write((byte)b.TalentValue.DEF);\n        bw.Write((byte)b.TalentValue.SPE);\n        bw.Write((byte)b.TalentValue.SPA);\n        bw.Write((byte)b.TalentValue.SPD);\n        bw.Write((byte)(b.TalentType == 2 ? 1 : 0));\n        bw.Write((byte)b.ScaleType);\n        bw.Write((byte)b.ScaleValue);\n    }\n\n    public void SerializeMight(BinaryWriter bw)\n    {\n        // Fixed Nature, fixed IVs, fixed Scale\n        var b = BossPokePara;\n        if (b.TalentType > 2)\n            throw new InvalidDataException($\"Invalid talent type for {nameof(SerializeMight)}.\");\n\n        bw.Write(b.Seikaku == 0 ? (byte)25 : (byte)(b.Seikaku - 1));\n        bw.Write((byte)b.TalentValue.HP);\n        bw.Write((byte)b.TalentValue.ATK);\n        bw.Write((byte)b.TalentValue.DEF);\n        bw.Write((byte)b.TalentValue.SPE);\n        bw.Write((byte)b.TalentValue.SPA);\n        bw.Write((byte)b.TalentValue.SPD);\n        bw.Write((byte)(b.TalentType == 2 ? 1 : 0));\n        bw.Write((byte)b.ScaleType);\n        bw.Write((byte)b.ScaleValue);\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/FlatBufferStructures/RaidSerializationFormat.cs",
    "content": "namespace pkNX.Structures.FlatBuffers.Gen9;\n\npublic enum RaidSerializationFormat\n{\n    /// <summary>\n    /// Base ROM Raids\n    /// </summary>\n    BaseROM,\n\n    /// <summary>\n    /// Regular Distribution Raids\n    /// </summary>\n    Distribution,\n\n    /// <summary>\n    /// 7 Star Distribution Raids\n    /// </summary>\n    Might,\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/FlatbufferDumper.cs",
    "content": "using FlatSharp;\nusing pkNX.Structures.FlatBuffers.Gen9;\nusing System.Diagnostics;\n\nnamespace RaidCrawler.Core.Structures;\n\npublic static class FlatbufferDumper\n{\n    public static byte[][] DumpBaseROMRaids(ReadOnlySpan<string> paths)\n    {\n        var list = new List<RaidStorage>();\n        var rateTotal = new (int Scarlet, int Violet)[8];\n        for (int i = 0; i < paths.Length; i++)\n        {\n            var path = paths[i];\n            var data = Utils.GetBinaryResource(path);\n            var fb = RaidEnemyTableArray.Serializer.Parse(data);\n            var table = fb.Table;\n            int totalRateScarlet = 0;\n            int totalRateViolet = 0;\n            foreach (var enc in table)\n            {\n                var wrap = new RaidStorage(enc, i);\n                if (enc.Info.RomVer != RaidRomType.TYPE_B)\n                {\n                    wrap.RandRateStartScarlet = totalRateScarlet;\n                    totalRateScarlet += enc.Info.Rate;\n                }\n\n                if (enc.Info.RomVer != RaidRomType.TYPE_A)\n                {\n                    wrap.RandRateStartViolet = totalRateViolet;\n                    totalRateViolet += enc.Info.Rate;\n                }\n                list.Add(wrap);\n            }\n            rateTotal[i + 1] = (totalRateScarlet, totalRateViolet);\n        }\n\n        //var all = list.OrderBy(z => z.Species)\n        //    .ThenBy(z => z.Form)\n        //    .ThenByDescending(z => z.Stars)\n        //    .ThenByDescending(z => z.Delivery)\n        //    .ToList();\n\n        using var ms = new MemoryStream();\n        using var bw = new BinaryWriter(ms);\n        using var ms2 = new MemoryStream();\n        using var bw2 = new BinaryWriter(ms2);\n        using var ms3 = new MemoryStream();\n        using var bw3 = new BinaryWriter(ms3);\n        foreach (var enc in list)\n        {\n            var rmS = enc.GetScarletRandMinScarlet();\n            var rmV = enc.GetVioletRandMinViolet();\n            enc.Enemy.Info.SerializePKHeX(\n                bw,\n                (byte)enc.Stars,\n                enc.Rate,\n                RaidSerializationFormat.BaseROM\n            );\n\n            bw.Write(rmS);\n            bw.Write(rmV);\n\n            enc.Enemy.Info.BossDesc.SerializePKHeX(bw2);\n\n            bw3.Write(enc.Enemy.Info.DropTableFix);\n            bw3.Write(enc.Enemy.Info.DropTableRandom);\n        }\n        var pickle = ms.ToArray();\n        var extra_moves = ms2.ToArray();\n        var rewards = ms3.ToArray();\n        return [pickle, extra_moves, rewards];\n    }\n\n    public static byte[][] DumpDistributionRaids(ReadOnlyMemory<byte> encounters)\n    {\n        var type2 = new List<byte[]>();\n        var type3 = new List<byte[]>();\n\n        if (encounters.Length == 0)\n            return [];\n\n        var tableEncounters = DeliveryRaidEnemyTableArray.Serializer.Parse(encounters);\n        var byGroupID = tableEncounters.Table\n            .Where(z => z.Info.Rate != 0)\n            .GroupBy(z => z.Info.DeliveryGroupID);\n\n        foreach (var group in byGroupID)\n        {\n            var items = group.ToArray();\n            if (items.Any(z => z.Info.Difficulty > 7))\n                continue;\n\n            if (items.All(z => z.Info.Difficulty == 7))\n            {\n                AddToList(items, type3, RaidSerializationFormat.Might, group.Key);\n                continue;\n            }\n            if (items.Any(z => z.Info.Difficulty == 7))\n                throw new Exception($\"Mixed difficulty {items.First(z => z.Info.Difficulty > 7).Info.Difficulty}\");\n\n            AddToList(items, type2, RaidSerializationFormat.Distribution, group.Key);\n        }\n\n        return\n        [\n            type2.SelectMany(z => z.SkipLast(16 + 12 + 1)).ToArray(),\n            type3.SelectMany(z => z.SkipLast(16 + 12 + 1)).ToArray(),\n            type2.SelectMany(z => z.TakeLast(16 + 12 + 1).Take(16)).ToArray(),\n            type3.SelectMany(z => z.TakeLast(16 + 12 + 1).Take(16)).ToArray(),\n            type2.SelectMany(z => z.TakeLast(12 + 1).Take(12)).ToArray(),\n            type3.SelectMany(z => z.TakeLast(12 + 1).Take(12)).ToArray(),\n            type2.SelectMany(z => z.TakeLast(1)).ToArray(),\n            type3.SelectMany(z => z.TakeLast(1)).ToArray(),\n        ];\n    }\n\n    public static List<DeliveryRaidLotteryRewardItem> DumpLotteryRewards(ReadOnlyMemory<byte> rewards)\n    {\n        var tableRewards = DeliveryRaidLotteryRewardItemArray.Serializer.Parse(rewards);\n        return [.. tableRewards.Table];\n    }\n\n    public static List<DeliveryRaidFixedRewardItem> DumpFixedRewards(ReadOnlyMemory<byte> rewards)\n    {\n        var tableRewards = DeliveryRaidFixedRewardItemArray.Serializer.Parse(rewards);\n        return [.. tableRewards.Table];\n    }\n\n    public static (DeliveryGroupID, int) DumpDeliveryPriorities(ReadOnlyMemory<byte> flatbuffer)\n    {\n        try\n        {\n            var prios = DeliveryRaidPriorityArray.Serializer.Parse(flatbuffer);\n            return (prios.Table[0].GroupID, prios.Table[0].VersionNo);\n        }\n        catch (Exception ex)\n        {\n            Debug.WriteLine(ex.ToString());\n            return (new DeliveryGroupID { GroupID = new GroupIDSet() }, 0);\n        }\n    }\n\n    private static readonly int[][] StageStars =\n    [\n        [1, 2],\n        [1, 2, 3],\n        [1, 2, 3, 4],\n        [3, 4, 5, 6, 7],\n    ];\n\n    private static void AddToList(IReadOnlyCollection<DeliveryRaidEnemyTable> table, List<byte[]> list, RaidSerializationFormat format, sbyte group)\n    {\n        // Get the total weight for each stage of star count\n        Span<ushort> weightTotalS = stackalloc ushort[StageStars.Length];\n        Span<ushort> weightTotalV = stackalloc ushort[StageStars.Length];\n        foreach (var enc in table)\n        {\n            var info = enc.Info;\n            if (info.Rate == 0)\n                continue;\n\n            var difficulty = info.Difficulty;\n            for (int stage = 0; stage < StageStars.Length; stage++)\n            {\n                if (!StageStars[stage].Contains(difficulty))\n                    continue;\n\n                if (info.RomVer != RaidRomType.TYPE_B)\n                    weightTotalS[stage] += (ushort)info.Rate;\n\n                if (info.RomVer != RaidRomType.TYPE_A)\n                    weightTotalV[stage] += (ushort)info.Rate;\n            }\n        }\n\n        Span<ushort> weightMinS = stackalloc ushort[StageStars.Length];\n        Span<ushort> weightMinV = stackalloc ushort[StageStars.Length];\n        foreach (var enc in table)\n        {\n            var info = enc.Info;\n            if (info.Rate == 0)\n                continue;\n\n            var difficulty = info.Difficulty;\n            TryAddToPickle(info, list, format, weightTotalS, weightTotalV, weightMinS, weightMinV, group);\n            for (int stage = 0; stage < StageStars.Length; stage++)\n            {\n                if (!StageStars[stage].Contains(difficulty))\n                    continue;\n\n                if (info.RomVer != RaidRomType.TYPE_B)\n                    weightMinS[stage] += (ushort)info.Rate;\n\n                if (info.RomVer != RaidRomType.TYPE_A)\n                    weightMinV[stage] += (ushort)info.Rate;\n            }\n        }\n    }\n\n    private static void TryAddToPickle(RaidEnemyInfo enc, ICollection<byte[]> list, RaidSerializationFormat format,\n        ReadOnlySpan<ushort> totalS, ReadOnlySpan<ushort> totalV, ReadOnlySpan<ushort> minS, ReadOnlySpan<ushort> minV, sbyte group)\n    {\n        using var ms = new MemoryStream();\n        using var bw = new BinaryWriter(ms);\n\n        enc.SerializePKHeX(bw, (byte)enc.Difficulty, enc.Rate, format);\n        for (int stage = 0; stage < StageStars.Length; stage++)\n        {\n            bool noTotal = !StageStars[stage].Contains(enc.Difficulty);\n            ushort mS = minS[stage];\n            ushort mV = minV[stage];\n            bw.Write(noTotal ? (ushort)0 : mS);\n            bw.Write(noTotal ? (ushort)0 : mV);\n            bw.Write(noTotal || enc.RomVer == RaidRomType.TYPE_B ? (ushort)0 : totalS[stage]);\n            bw.Write(noTotal || enc.RomVer == RaidRomType.TYPE_A ? (ushort)0 : totalV[stage]);\n        }\n\n        if (format == RaidSerializationFormat.Distribution)\n            enc.SerializeDistribution(bw);\n\n        if (format == RaidSerializationFormat.Might)\n            enc.SerializeMight(bw);\n\n        // drop table reference\n        bw.Write(enc.DropTableFix);\n        bw.Write(enc.DropTableRandom);\n\n        // extra moves reference\n        enc.BossDesc.SerializePKHeX(bw);\n\n        // group id reference\n        bw.Write(group);\n\n        var bin = ms.ToArray();\n        if (!list.Any(z => z.SequenceEqual(bin)))\n            list.Add(bin);\n    }\n\n    private record RaidStorage(RaidEnemyTable Enemy, int File)\n    {\n        private PokeDataBattle Poke => Enemy.Info.BossPokePara;\n\n        public int Stars => Enemy.Info.Difficulty == 0 ? File + 1 : Enemy.Info.Difficulty;\n        public ushort Species => Poke.DevId;\n        public short Form => Poke.FormId;\n        public int Delivery => Enemy.Info.DeliveryGroupID;\n        public sbyte Rate => Enemy.Info.Rate;\n\n        public int RandRateStartScarlet { get; set; }\n        public int RandRateStartViolet { get; set; }\n\n        public short GetScarletRandMinScarlet()\n        {\n            if (Enemy.Info.RomVer == RaidRomType.TYPE_B)\n                return -1;\n            return (short)RandRateStartScarlet;\n        }\n\n        public short GetVioletRandMinViolet()\n        {\n            if (Enemy.Info.RomVer == RaidRomType.TYPE_A)\n                return -1;\n            return (short)RandRateStartViolet;\n        }\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/ITeraRaid.cs",
    "content": "using PKHeX.Core;\n\nnamespace RaidCrawler.Core.Structures;\n\npublic interface ITeraRaid : ISpeciesForm\n{\n    ushort[] ExtraMoves { get; }\n    byte Gender { get; }\n    AbilityPermission Ability { get; }\n    byte FlawlessIVCount { get; }\n    Shiny Shiny { get; }\n    byte Level { get; }\n    ushort Move1 { get; }\n    ushort Move2 { get; }\n    ushort Move3 { get; }\n    ushort Move4 { get; }\n    byte Stars { get; }\n    byte RandRate { get; }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/MapMagic.cs",
    "content": "using PKHeX.Core;\n\nnamespace RaidCrawler.Core.Structures\n{\n    public class MapMagic\n    {\n        private double ScaleX { get; init; }\n        private double ScaleZ { get; init; }\n        private double OffsetZ { get; init; }\n        public double ConvertWidth(double s) => (512 / ScaleX) * s;\n        public double ConvertHeight(double s) => (512 / ScaleZ) * s;\n        public double ConvertX(double x) => (512 / ScaleX) * x;\n        public double ConvertZ(double z) => (512 / ScaleZ) * (z + OffsetZ);\n\n        public static MapMagic GetMapMagic(TeraRaidMapParent parent) => parent switch\n        {\n            TeraRaidMapParent.Blueberry => Blueberry,\n            TeraRaidMapParent.Kitakami => Kitakami,\n            _ => Base,\n        };\n\n        private static readonly MapMagic Base = new()\n        {\n            ScaleX = 5000,\n            ScaleZ = 5000,\n            OffsetZ = 5500,\n        };\n\n        private static readonly MapMagic Kitakami = new()\n        {\n            ScaleX = 2000,\n            ScaleZ = 2000,\n            OffsetZ = 2000,\n        };\n\n        private static readonly MapMagic Blueberry = new()\n        {\n            ScaleX = 2000,\n            ScaleZ = 2000,\n            OffsetZ = 2000,\n        };\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/Offsets.cs",
    "content": "namespace RaidCrawler.Core.Structures;\n\npublic abstract class Offsets\n{\n    public const string ScarletID = \"0100A3D008C5C000\";\n    public const string VioletID = \"01008F6008C5E000\";\n\n    public static ReadOnlySpan<long> RaidBlockPointerBase => [0x4741FA0, 0x198, 0x88, 0x40];\n    public static ReadOnlySpan<long> RaidBlockPointerKitakami => [0x4741FA0, 0x198, 0x88, 0xCD8];\n    public static ReadOnlySpan<long> RaidBlockPointerBlueberry => [0x4741FA0, 0x198, 0x88, 0x1958];\n    public static ReadOnlySpan<long> BlockKeyPointer => [0x47350D8, 0xD8, 0x0, 0x0, 0x30, 0x0];\n    public static ReadOnlySpan<uint> DifficultyFlags => [0xEC95D8EF, 0xA9428DFE, 0x9535F471, 0x6E7F8220];\n\n    public const uint BCATRaidBinaryLocation = 0x520A1B0; // Thanks Lincoln-LM!\n    public const uint BCATRaidPriorityLocation = 0x95451E4; // Thanks Lincoln-LM!\n    public const uint BCATRaidFixedRewardLocation = 0x7D6C2B82;\n    public const uint BCATRaidLotteryRewardLocation = 0xA52B4811;\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/Raid.cs",
    "content": "using PKHeX.Core;\nusing static System.Buffers.Binary.BinaryPrimitives;\n\nnamespace RaidCrawler.Core.Structures;\n\n/// <summary>\n/// See also https://github.com/kwsch/PKHeX/blob/master/PKHeX.Core/Saves/Substructures/Gen9/RaidSpawnList9.cs\n/// </summary>\npublic class Raid(Span<byte> Data, TeraRaidMapParent MapParent = TeraRaidMapParent.Paldea)\n{\n    public const byte SIZE = 0x20;\n    private readonly byte[] Data = Data.ToArray(); // Raw data\n\n    public readonly TeraRaidMapParent MapParent = MapParent;\n\n    public bool IsValid      => Validate();\n    public bool IsActive     => ReadUInt32LittleEndian(Data.AsSpan(0x00)) == 1;\n    public uint Area         => ReadUInt32LittleEndian(Data.AsSpan(0x04));\n    public uint LotteryGroup => ReadUInt32LittleEndian(Data.AsSpan(0x08));\n    public uint Den          => ReadUInt32LittleEndian(Data.AsSpan(0x0C));\n    public uint Seed         => ReadUInt32LittleEndian(Data.AsSpan(0x10));\n    public uint Flags        => ReadUInt32LittleEndian(Data.AsSpan(0x18));\n    public bool IsBlack      => Flags == 1;\n    public bool IsEvent      => Flags >= 2;\n\n    public int TeraType      => GetTeraType(Seed);\n    public uint Difficulty   => GetDifficulty(Seed);\n\n    public uint EC           => GenericRaidData[0];\n    public uint PID          => GenericRaidData[2];\n    public bool IsShiny      => GenericRaidData[3] == 1;\n\n    private uint[] GenericRaidData => GenerateGenericRaidData(Seed);\n\n    public byte[] GetData()  => Data;\n\n    private bool Validate()\n    {\n        if (Seed == 0 || !IsActive)\n            return false;\n        if (!IsValidMap())\n            return false;\n\n        GenerateGenericRaidData(Seed);\n        return true;\n    }\n\n    private bool IsValidMap()\n    {\n        return MapParent switch\n        {\n            TeraRaidMapParent.Paldea    => Area <= 22,\n            TeraRaidMapParent.Kitakami  => Area <= 11,\n            TeraRaidMapParent.Blueberry => Area <= 8,\n            _                           => false\n        };\n    }\n\n    private static int GetTeraType(uint Seed)\n    {\n        var rng = new Xoroshiro128Plus(Seed);\n        return (int)rng.NextInt(18);\n    }\n\n    private static uint[] GenerateGenericRaidData(uint Seed)\n    {\n        var rng = new Xoroshiro128Plus(Seed);\n        uint EC = (uint)rng.NextInt();\n        uint TIDSID = (uint)rng.NextInt();\n        uint PID = (uint)rng.NextInt();\n        bool IsShiny = ((PID >> 16) ^ (PID & 0xFFFF)) >> 4 == ((TIDSID >> 16) ^ (TIDSID & 0xFFFF)) >> 4;\n        var Shiny = IsShiny ? 1u : 0;\n        return [EC, TIDSID, PID, Shiny];\n    }\n\n    private static uint GetDifficulty(uint Seed)\n    {\n        var rng = new Xoroshiro128Plus(Seed);\n        return (uint)rng.NextInt(100);\n    }\n\n    public void GenerateDataPK9(PK9 pk, GenerateParam9 param, Shiny isShiny, uint seed)\n    {\n        var criteria = new EncounterCriteria { Shiny = isShiny };\n        bool check = Encounter9RNG.GenerateData(pk, param, criteria, seed);\n        if (!check)\n        {\n            criteria = new EncounterCriteria { Shiny = pk.IsShiny ? Shiny.Always : Shiny.Random };\n            Encounter9RNG.GenerateData(pk, param, criteria, seed);\n        }\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/RaidBlock.cs",
    "content": "namespace RaidCrawler.Core.Structures;\n\npublic static class RaidBlock\n{\n    public const uint HEADER_SIZE = 0x10;\n\n    public const uint MAX_COUNT_BASE = 72;\n    public const uint SIZE_BASE = Raid.SIZE * MAX_COUNT_BASE;\n\n    public const uint MAX_COUNT_KITAKAMI = 100;\n    public const uint SIZE_KITAKAMI = Raid.SIZE * MAX_COUNT_KITAKAMI;\n\n    public const uint MAX_COUNT_BLUEBERRY = 80;\n    public const uint SIZE_BLUEBERRY = Raid.SIZE * MAX_COUNT_BLUEBERRY;\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/RaidContainer.cs",
    "content": "using PKHeX.Core;\nusing pkNX.Structures.FlatBuffers.Gen9;\nusing System.Text.Json;\n\nnamespace RaidCrawler.Core.Structures;\n\npublic record RaidContainer\n{\n    public readonly TeraEncounter[]? GemTeraRaidsBase;\n    public readonly TeraEncounter[]? GemTeraRaidsKitakami;\n    public readonly TeraEncounter[]? GemTeraRaidsBlueberry;\n    public TeraDistribution[]? DistTeraRaids;\n    public TeraMight[]? MightTeraRaids;\n    public readonly IReadOnlyList<RaidFixedRewards>? BaseFixedRewards;\n    public readonly IReadOnlyList<RaidLotteryRewards>? BaseLotteryRewards;\n    public IReadOnlyList<DeliveryRaidFixedRewardItem>? DeliveryRaidFixedRewards;\n    public IReadOnlyList<DeliveryRaidLotteryRewardItem>? DeliveryRaidLotteryRewards;\n    public DeliveryGroupID DeliveryRaidPriority = new() { GroupID = new() };\n\n    public IReadOnlyList<Raid> Raids { get; private set; } = new List<Raid>();\n    public IReadOnlyList<ITeraRaid> Encounters { get; private set; } = new List<ITeraRaid>();\n    public IReadOnlyList<IReadOnlyList<(int, int, int)>> Rewards { get; private set; } =\n        new List<List<(int, int, int)>>();\n    public string Game { get; private set; } = \"Scarlet\";\n    public GameStrings Strings { get; private set; }\n\n    // Files containing serialized data for all possible 1 through 6 star raids\n    private readonly string[] RaidDataBase =\n    [\n        \"raid_enemy_01_array.bin\",\n        \"raid_enemy_02_array.bin\",\n        \"raid_enemy_03_array.bin\",\n        \"raid_enemy_04_array.bin\",\n        \"raid_enemy_05_array.bin\",\n        \"raid_enemy_06_array.bin\",\n    ];\n\n    private readonly string[] RaidDataKitakami =\n    [\n        \"su1_raid_enemy_01_array.bin\",\n        \"su1_raid_enemy_02_array.bin\",\n        \"su1_raid_enemy_03_array.bin\",\n        \"su1_raid_enemy_04_array.bin\",\n        \"su1_raid_enemy_05_array.bin\",\n        \"su1_raid_enemy_06_array.bin\",\n    ];\n\n    private readonly string[] RaidDataBlueberry =\n    [\n        \"su2_raid_enemy_01_array.bin\",\n        \"su2_raid_enemy_02_array.bin\",\n        \"su2_raid_enemy_03_array.bin\",\n        \"su2_raid_enemy_04_array.bin\",\n        \"su2_raid_enemy_05_array.bin\",\n        \"su2_raid_enemy_06_array.bin\",\n    ];\n\n    public RaidContainer(string game)\n    {\n        Game = game;\n        Strings = GameInfo.GetStrings(\"en\");\n        GemTeraRaidsBase = TeraEncounter.GetAllEncounters(RaidDataBase, TeraRaidMapParent.Paldea);\n        GemTeraRaidsKitakami = TeraEncounter.GetAllEncounters(RaidDataKitakami, TeraRaidMapParent.Kitakami);\n        GemTeraRaidsBlueberry = TeraEncounter.GetAllEncounters(RaidDataBlueberry, TeraRaidMapParent.Blueberry);\n        BaseFixedRewards = JsonSerializer.Deserialize<IReadOnlyList<RaidFixedRewards>>(Utils.GetStringResource(\"raid_fixed_reward_item_array.json\") ?? \"[]\");\n        BaseLotteryRewards = JsonSerializer.Deserialize<IReadOnlyList<RaidLotteryRewards>>(Utils.GetStringResource(\"raid_lottery_reward_item_array.json\") ?? \"[]\");\n    }\n\n    public int GetRaidCount() => Raids.Count;\n    public void ClearRaids() => Raids = new List<Raid>();\n    public void SetRaids(IReadOnlyList<Raid> raids) => Raids = raids;\n    public int GetEncounterCount() => Encounters.Count;\n    public void ClearEncounters() => Encounters = new List<ITeraRaid>();\n    public void SetEncounters(IReadOnlyList<ITeraRaid> encs) => Encounters = encs;\n    public int GetRewardsCount() => Rewards.Count;\n    public void ClearRewards() => Rewards = new List<List<(int, int, int)>>();\n    public void SetRewards(IReadOnlyList<IReadOnlyList<(int, int, int)>> rewards) => Rewards = rewards;\n    public void SetGame(string game) => Game = game;\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/RaidFilter.cs",
    "content": "using PKHeX.Core;\nusing System.Diagnostics.Metrics;\n\nnamespace RaidCrawler.Core.Structures;\n\npublic class RaidFilter\n{\n    public string? Name { get; set; }\n    public int? Species { get; set; }\n    public int? Form { get; set; }\n    public int? Stars { get; set; }\n    public int StarsComp { get; set; }\n    public bool Shiny { get; set; }\n    public bool Square { get; set; }\n    public bool RareEC { get; set; }\n    public int? Nature { get; set; }\n    public int? TeraType { get; set; }\n    public int? Gender { get; set; }\n    public int IVBin { get; set; }\n    public int IVComps { get; set; }\n    public int IVVals { get; set; }\n    public bool Enabled { get; set; }\n    public int[]? RewardItems { get; set; }\n    public int RewardsComp { get; set; }\n    public int RewardsCount { get; set; }\n    public string[]? BatchFilters { get; set; }\n\n    public bool IsFilterSet() => Species != null\n                              || Form != null\n                              || Stars != null\n                              || Shiny\n                              || Square\n                              || RareEC\n                              || Nature != null\n                              || TeraType != null\n                              || Gender != null\n                              || IVBin != 0\n                              || (RewardItems != null && RewardsCount != 0)\n                              || BatchFilters != null;\n\n    public bool IsSpeciesSatisfied(ushort species)\n    {\n        if (Species is null)\n            return true;\n\n        return species == (ushort)Species;\n    }\n\n    public bool IsFormSatisfied(byte form)\n    {\n        if (Form is null)\n            return true;\n\n        return form == Form;\n    }\n\n    public bool IsStarsSatisfied(ITeraRaid enc)\n    {\n        if (Stars is null)\n            return true;\n\n        return StarsComp switch\n        {\n            0 => enc.Stars == Stars,\n            1 => enc.Stars > Stars,\n            2 => enc.Stars >= Stars,\n            3 => enc.Stars <= Stars,\n            4 => enc.Stars < Stars,\n            _ => false,\n        };\n    }\n\n    public bool IsRewardsSatisfied(RaidContainer container, ITeraRaid enc, Raid raid, int sandwichBoost)\n    {\n        if (RewardItems is null || RewardsCount == 0)\n            return true;\n\n        var rewards = enc.GetRewards(container, raid, sandwichBoost);\n        var count = rewards.Where(z => RewardItems.Contains(z.Item1)).Sum(o => o.Item2);\n        return RewardsComp switch\n        {\n            0 => count == RewardsCount,\n            1 => count > RewardsCount,\n            2 => count >= RewardsCount,\n            3 => count <= RewardsCount,\n            4 => count < RewardsCount,\n            _ => false,\n        };\n    }\n\n    public bool IsShinySatisfied(PK9 blank)\n    {\n        if (!Shiny)\n            return true;\n\n        return blank.IsShiny;\n    }\n\n    public bool IsSquareSatisfied(PK9 blank)\n    {\n        if (!Square)\n            return true;\n\n        return blank.IsShiny && ShinyExtensions.IsSquareShinyExist(blank);\n    }\n\n    public bool IsRareECSatisfied(PK9 blank)\n    {\n        if (!RareEC)\n            return true;\n\n        return blank.EncryptionConstant % 100 == 0;\n    }\n\n    public bool IsTeraTypeSatisfied(Raid raid, ITeraRaid enc)\n    {\n        if (TeraType is null)\n            return true;\n\n        return raid.GetTeraType(enc) == TeraType;\n    }\n\n    public bool IsNatureSatisfied(int nature)\n    {\n        if (Nature is null)\n            return true;\n\n        return nature == Nature;\n    }\n\n    public bool IsIVsSatisfied(PK9 blank)\n    {\n        if (IVBin == 0)\n            return true;\n\n        Span<int> _ivs = stackalloc int[6];\n        blank.GetIVs(_ivs);\n        var ivs = Utils.ToSpeedLast(_ivs);\n        for (int i = 0; i < 6; i++)\n        {\n            var iv = IVVals >> i * 5 & 31;\n            var ivbin = IVBin >> i & 1;\n            var ivcomp = IVComps >> i * 3 & 7;\n            if (ivbin != 1)\n                continue;\n            if (!IsValidIV(ivcomp, ivs, i, iv))\n                return false;\n        }\n        return true;\n    }\n\n    private static bool IsValidIV(int ivcomp, ReadOnlySpan<int> ivs, int index, int iv) => ivcomp switch\n    {\n        0 => ivs[index] == iv,\n        1 => ivs[index] > iv,\n        2 => ivs[index] >= iv,\n        3 => ivs[index] <= iv,\n        4 => ivs[index] < iv,\n        _ => true,\n    };\n\n    public bool IsGenderSatisfied(ITeraRaid encounter, int gender)\n    {\n        if (Gender is null || (encounter.Gender <= 2 && encounter.Gender == Gender))\n            return true;\n\n        return gender == Gender;\n    }\n\n    public bool IsBatchFilterSatisfied(PK9 blank)\n    {\n        if (BatchFilters is null)\n            return true;\n\n        var filters = StringInstruction.GetFilters(BatchFilters.AsSpan());\n        if (filters.Count == 0)\n            return true;\n\n        BatchEditing.ScreenStrings(filters);\n        return BatchEditing.IsFilterMatch(filters, blank);\n    }\n\n    public bool FilterSatisfied(\n        RaidContainer container,\n        ITeraRaid enc,\n        Raid raid,\n        int SandwichBoost\n    )\n    {\n        var param = enc.GetParam();\n        var blank = new PK9 { Species = enc.Species, Form = enc.Form };\n\n        raid.GenerateDataPK9(blank, param, enc.Shiny, raid.Seed);\n\n        return Enabled\n               && IsIVsSatisfied(blank)\n               && IsShinySatisfied(blank)\n               && IsSquareSatisfied(blank)\n               && IsRareECSatisfied(blank)\n               && IsSpeciesSatisfied(blank.Species)\n               && IsFormSatisfied(blank.Form)\n               && IsNatureSatisfied((int)blank.Nature)\n               && IsStarsSatisfied(enc)\n               && IsTeraTypeSatisfied(raid, enc)\n               && IsRewardsSatisfied(container, enc, raid, SandwichBoost)\n               && IsGenderSatisfied(enc, blank.Gender)\n               && IsBatchFilterSatisfied(blank);\n    }\n\n    public bool FilterSatisfied(\n        RaidContainer container,\n        IReadOnlyList<ITeraRaid> encounters,\n        IReadOnlyList<Raid> raids,\n        int sandwichBoost\n    )\n    {\n        if (raids.Count != encounters.Count)\n            throw new Exception(\"Raid count does not match Encounter count\");\n\n        for (int i = 0; i < raids.Count; i++)\n        {\n            if (FilterSatisfied(container, encounters[i], raids[i], sandwichBoost))\n                return true;\n        }\n        return false;\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/RaidRewards.cs",
    "content": "using FlatSharp.Attributes;\nusing PKHeX.Core;\nusing System.ComponentModel;\nusing System.Text.Json.Serialization;\n\nnamespace RaidCrawler.Core.Structures;\n\npublic static class Rewards\n{\n    private static readonly int[][] RewardSlots =\n    [\n        [4, 5, 6, 7, 8],\n        [4, 5, 6, 7, 8],\n        [5, 6, 7, 8, 9],\n        [5, 6, 7, 8, 9],\n        [6, 7, 8, 9, 10],\n        [7, 8, 9, 10, 11],\n        [7, 8, 9, 10, 11],\n    ];\n\n    public static ReadOnlySpan<int> RareRewards =>\n    [\n        4,\n        645,\n        1606,\n        1904,\n        1905,\n        1906,\n        1907,\n        1908,\n        795,\n    ];\n\n    public static ReadOnlySpan<ushort> TMIndexes =>\n    [\n        005, 036, 204, 313, 097, 189, 184, 182, 424, 422,\n        423, 352, 067, 491, 512, 522, 060, 109, 168, 574,\n        885, 884, 886, 451, 083, 263, 342, 332, 523, 506,\n        555, 232, 129, 345, 196, 341, 317, 577, 488, 490,\n        314, 500, 101, 374, 525, 474, 419, 203, 521, 241,\n        240, 201, 883, 684, 473, 091, 331, 206, 280, 428,\n        369, 421, 492, 706, 339, 403, 034, 007, 009, 008,\n        214, 402, 486, 409, 115, 113, 350, 127, 337, 605,\n        118, 447, 086, 398, 707, 156, 157, 269, 014, 776,\n        191, 390, 286, 430, 399, 141, 598, 019, 285, 442,\n        349, 408, 441, 164, 334, 404, 529, 261, 242, 271,\n        710, 202, 396, 366, 247, 406, 446, 304, 257, 412,\n        094, 484, 227, 057, 861, 053, 085, 583, 133, 347,\n        270, 676, 226, 414, 179, 058, 604, 580, 678, 581,\n        417, 126, 056, 059, 519, 518, 520, 528, 188, 089,\n        444, 566, 416, 307, 308, 338, 200, 315, 411, 437,\n        542, 433, 405, 063, 413, 394, 087, 370, 076, 434,\n        796, 851,\n    ];\n\n    public static int GetRewardCount(int random, int stars) => random switch\n    {\n        < 10 => RewardSlots[stars - 1][0],\n        < 40 => RewardSlots[stars - 1][1],\n        < 70 => RewardSlots[stars - 1][2],\n        < 90 => RewardSlots[stars - 1][3],\n        _ => RewardSlots[stars - 1][4],\n    };\n\n    public static List<(int, int, int)> ReorderRewards(List<(int, int, int)> rewards)\n    {\n        var rares = new List<(int, int, int)>();\n        var commons = new List<(int, int, int)>();\n        for (int i = 0; i < rewards.Count; i++)\n        {\n            if (RareRewards.Contains(rewards[i].Item1))\n                rares.Add(rewards[i]);\n            else\n                commons.Add(rewards[i]);\n        }\n        rares.AddRange(commons);\n        return rares;\n    }\n\n    public static bool IsTM(int item) => item switch\n    {\n        >= 328 and <= 419 => true, // TM001 to TM092, skip TM000 Mega Punch\n        618 or 619 or 620 => true, // TM093 to TM095\n        690 or 691 or 692 or 693 => true, // TM096 to TM099\n        >= 2160 and <= 2289 => true, // TM100 to TM229\n        _ => false,\n    };\n\n    public static string GetNameTM(int item, IReadOnlyList<string> items, IReadOnlyList<string> moves, ReadOnlySpan<ushort> tm) => item switch\n    {\n        >= 328 and <= 419 => $\"{items[item]} {moves[tm[001 + item - 328]]}\", // TM001 to TM092, skip TM000 Mega Punch\n        618 or 619 or 620 => $\"{items[item]} {moves[tm[093 + item - 618]]}\", // TM093 to TM095\n        690 or 691 or 692 or 693 => $\"{items[item]} {moves[tm[096 + item - 690]]}\", // TM096 to TM099\n        _ => $\"{items[item]} {moves[tm[100 + item - 2160]]}\", // TM100 to TM229\n    };\n\n    public static int GetTeraShard(int type) => (MoveType)type switch\n    {\n        MoveType.Normal => 1862,\n        MoveType.Fighting => 1868,\n        MoveType.Flying => 1871,\n        MoveType.Poison => 1869,\n        MoveType.Ground => 1870,\n        MoveType.Rock => 1874,\n        MoveType.Bug => 1873,\n        MoveType.Ghost => 1875,\n        MoveType.Steel => 1878,\n        MoveType.Fire => 1863,\n        MoveType.Water => 1864,\n        MoveType.Grass => 1866,\n        MoveType.Electric => 1865,\n        MoveType.Psychic => 1872,\n        MoveType.Ice => 1867,\n        MoveType.Dragon => 1876,\n        MoveType.Dark => 1877,\n        MoveType.Fairy => 1879,\n        _ => 20000,\n    };\n\n    public static int GetMaterial(int species) => (Species)species switch\n    {\n        Species.Venonat or Species.Venomoth => 1956,\n        Species.Diglett or Species.Dugtrio => 1957,\n        Species.Meowth or Species.Persian => 1958,\n        Species.Psyduck or Species.Golduck => 1959,\n        Species.Mankey or Species.Primeape or Species.Annihilape => 1960,\n        Species.Growlithe or Species.Arcanine => 1961,\n        Species.Slowpoke or Species.Slowbro or Species.Slowking => 1962,\n        Species.Magnemite or Species.Magneton or Species.Magnezone => 1963,\n        Species.Grimer or Species.Muk => 1964,\n        Species.Shellder or Species.Cloyster => 1965,\n        Species.Gastly or Species.Haunter or Species.Gengar => 1966,\n        Species.Drowzee or Species.Hypno => 1967,\n        Species.Voltorb or Species.Electrode => 1968,\n        Species.Scyther or Species.Scizor or Species.Kleavor => 1969,\n        Species.Tauros => 1970,\n        Species.Magikarp or Species.Gyarados => 1971,\n        Species.Ditto => 1972,\n        Species.Eevee\n            or Species.Vaporeon\n            or Species.Jolteon\n            or Species.Flareon\n            or Species.Espeon\n            or Species.Umbreon\n            or Species.Leafeon\n            or Species.Glaceon\n            or Species.Sylveon\n            => 1973,\n        Species.Dratini or Species.Dragonair or Species.Dragonite => 1974,\n        Species.Pichu or Species.Pikachu or Species.Raichu => 1975,\n        Species.Igglybuff or Species.Jigglypuff or Species.Wigglytuff => 1976,\n        Species.Mareep or Species.Flaaffy or Species.Ampharos => 1977,\n        Species.Hoppip or Species.Skiploom or Species.Jumpluff => 1978,\n        Species.Sunkern or Species.Sunflora => 1979,\n        Species.Murkrow or Species.Honchkrow => 1980,\n        Species.Misdreavus or Species.Mismagius => 1981,\n        Species.Girafarig or Species.Farigiraf => 1982,\n        Species.Pineco or Species.Forretress => 1983,\n        Species.Dunsparce or Species.Dudunsparce => 1984,\n        Species.Qwilfish or Species.Overqwil => 1985,\n        Species.Heracross => 1986,\n        Species.Sneasel or Species.Weavile or Species.Sneasler => 1987,\n        Species.Teddiursa or Species.Ursaring or Species.Ursaluna => 1988,\n        Species.Delibird => 1989,\n        Species.Houndour or Species.Houndoom => 1990,\n        Species.Phanpy or Species.Donphan => 1991,\n        Species.Stantler or Species.Wyrdeer => 1992,\n        Species.Larvitar or Species.Pupitar or Species.Tyranitar => 1993,\n        Species.Wingull or Species.Pelipper => 1994,\n        Species.Ralts or Species.Kirlia or Species.Gardevoir or Species.Gallade => 1995,\n        Species.Surskit or Species.Masquerain => 1996,\n        Species.Shroomish or Species.Breloom => 1997,\n        Species.Slakoth or Species.Vigoroth or Species.Slaking => 1998,\n        Species.Makuhita or Species.Hariyama => 1999,\n        Species.Azurill or Species.Marill or Species.Azumarill => 2000,\n        Species.Sableye => 2001,\n        Species.Meditite or Species.Medicham => 2002,\n        Species.Gulpin or Species.Swalot => 2003,\n        Species.Numel or Species.Camerupt => 2004,\n        Species.Torkoal => 2005,\n        Species.Spoink or Species.Grumpig => 2006,\n        Species.Cacnea or Species.Cacturne => 2007,\n        Species.Swablu or Species.Altaria => 2008,\n        Species.Zangoose => 2009,\n        Species.Seviper => 2010,\n        Species.Barboach or Species.Whiscash => 2011,\n        Species.Shuppet or Species.Banette => 2012,\n        Species.Tropius => 2013,\n        Species.Snorunt or Species.Glalie or Species.Froslass => 2014,\n        Species.Luvdisc => 2015,\n        Species.Bagon or Species.Shelgon or Species.Salamence => 2016,\n        Species.Starly or Species.Staravia or Species.Staraptor => 2017,\n        Species.Kricketot or Species.Kricketune => 2018,\n        Species.Shinx or Species.Luxio or Species.Luxray => 2019,\n        Species.Combee or Species.Vespiquen => 2020,\n        Species.Pachirisu => 2021,\n        Species.Buizel or Species.Floatzel => 2022,\n        Species.Shellos or Species.Gastrodon => 2023,\n        Species.Drifloon or Species.Drifblim => 2024,\n        Species.Stunky or Species.Skuntank => 2025,\n        Species.Bronzor or Species.Bronzong => 2026,\n        Species.Bonsly or Species.Sudowoodo => 2027,\n        Species.Happiny or Species.Chansey or Species.Blissey => 2028,\n        Species.Spiritomb => 2029,\n        Species.Gible or Species.Gabite or Species.Garchomp => 2030,\n        Species.Riolu or Species.Lucario => 2031,\n        Species.Hippopotas or Species.Hippowdon => 2032,\n        Species.Croagunk or Species.Toxicroak => 2033,\n        Species.Finneon or Species.Lumineon => 2034,\n        Species.Snover or Species.Abomasnow => 2035,\n        Species.Rotom => 2036,\n        Species.Petilil or Species.Lilligant => 2037,\n        Species.Basculin or Species.Basculegion => 2038,\n        Species.Sandile or Species.Krokorok or Species.Krookodile => 2039,\n        Species.Zorua or Species.Zoroark => 2040,\n        Species.Gothita or Species.Gothorita or Species.Gothitelle => 2041,\n        Species.Deerling or Species.Sawsbuck => 2042,\n        Species.Foongus or Species.Amoonguss => 2043,\n        Species.Alomomola => 2044,\n        Species.Tynamo or Species.Eelektrik or Species.Eelektross => 2045,\n        Species.Axew or Species.Fraxure or Species.Haxorus => 2046,\n        Species.Cubchoo or Species.Beartic => 2047,\n        Species.Cryogonal => 2048,\n        Species.Pawniard or Species.Bisharp or Species.Kingambit => 2049,\n        Species.Rufflet or Species.Braviary => 2050,\n        Species.Deino or Species.Zweilous or Species.Hydreigon => 2051,\n        Species.Larvesta or Species.Volcarona => 2052,\n        Species.Fletchling or Species.Fletchinder or Species.Talonflame => 2053,\n        Species.Scatterbug or Species.Spewpa or Species.Vivillon => 2054,\n        Species.Litleo or Species.Pyroar => 2055,\n        Species.Flabébé or Species.Floette or Species.Florges => 2056,\n        Species.Skiddo or Species.Gogoat => 2057,\n        Species.Skrelp or Species.Dragalge => 2058,\n        Species.Clauncher or Species.Clawitzer => 2059,\n        Species.Hawlucha => 2060,\n        Species.Dedenne => 2061,\n        Species.Goomy or Species.Sliggoo or Species.Goodra => 2062,\n        Species.Klefki => 2063,\n        Species.Bergmite or Species.Avalugg => 2064,\n        Species.Noibat or Species.Noivern => 2065,\n        Species.Yungoos or Species.Gumshoos => 2066,\n        Species.Crabrawler or Species.Crabominable => 2067,\n        Species.Oricorio => 2068,\n        Species.Rockruff or Species.Lycanroc => 2069,\n        Species.Mareanie or Species.Toxapex => 2070,\n        Species.Mudbray or Species.Mudsdale => 2071,\n        Species.Fomantis or Species.Lurantis => 2072,\n        Species.Salandit or Species.Salazzle => 2073,\n        Species.Bounsweet or Species.Steenee or Species.Tsareena => 2074,\n        Species.Oranguru => 2075,\n        Species.Passimian => 2076,\n        Species.Sandygast or Species.Palossand => 2077,\n        Species.Komala => 2078,\n        Species.Mimikyu => 2079,\n        Species.Bruxish => 2080,\n        Species.Chewtle or Species.Drednaw => 2081,\n        Species.Skwovet or Species.Greedent => 2082,\n        Species.Arrokuda or Species.Barraskewda => 2083,\n        Species.Rookidee or Species.Corvisquire or Species.Corviknight => 2084,\n        Species.Toxel or Species.Toxtricity => 2085,\n        Species.Falinks => 2086,\n        Species.Cufant or Species.Copperajah => 2087,\n        Species.Rolycoly or Species.Carkol or Species.Coalossal => 2088,\n        Species.Silicobra or Species.Sandaconda => 2089,\n        Species.Indeedee => 2090,\n        Species.Pincurchin => 2091,\n        Species.Snom or Species.Frosmoth => 2092,\n        Species.Impidimp or Species.Morgrem or Species.Grimmsnarl => 2093,\n        Species.Applin or Species.Flapple or Species.Appletun => 2094,\n        Species.Sinistea or Species.Polteageist => 2095,\n        Species.Hatenna or Species.Hattrem or Species.Hatterene => 2096,\n        Species.Stonjourner => 2097,\n        Species.Eiscue => 2098,\n        Species.Dreepy or Species.Drakloak or Species.Dragapult => 2099,\n\n        Species.Lechonk or Species.Oinkologne => 2103,\n        Species.Tarountula or Species.Spidops => 2104,\n        Species.Nymble or Species.Lokix => 2105,\n        Species.Rellor or Species.Rabsca => 2106,\n        Species.Greavard or Species.Houndstone => 2107,\n        Species.Flittle or Species.Espathra => 2108,\n        Species.Wiglett or Species.Wugtrio => 2109,\n        Species.Dondozo => 2110,\n        Species.Veluza => 2111,\n        Species.Finizen or Species.Palafin => 2112,\n        Species.Smoliv or Species.Dolliv or Species.Arboliva => 2113,\n        Species.Capsakid or Species.Scovillain => 2114,\n        Species.Tadbulb or Species.Bellibolt => 2115,\n        Species.Varoom or Species.Revavroom => 2116,\n        Species.Orthworm => 2117,\n        Species.Tandemaus or Species.Maushold => 2118,\n        Species.Cetoddle or Species.Cetitan => 2119,\n        Species.Frigibax or Species.Arctibax or Species.Baxcalibur => 2120,\n        Species.Tatsugiri => 2121,\n        Species.Cyclizar => 2122,\n        Species.Pawmi or Species.Pawmo or Species.Pawmot => 2123,\n\n        Species.Wattrel or Species.Kilowattrel => 2126,\n        Species.Bombirdier => 2127,\n        Species.Squawkabilly => 2128,\n        Species.Flamigo => 2129,\n        Species.Klawf => 2130,\n        Species.Nacli or Species.Naclstack or Species.Garganacl => 2131,\n        Species.Glimmet or Species.Glimmora => 2132,\n        Species.Shroodle or Species.Grafaiai => 2133,\n        Species.Fidough or Species.Dachsbun => 2134,\n        Species.Maschiff or Species.Mabosstiff => 2135,\n        Species.Bramblin or Species.Brambleghast => 2136,\n        Species.Gimmighoul or Species.Gholdengo => 2137,\n\n        Species.Tinkatink or Species.Tinkatuff or Species.Tinkaton => 2156,\n        Species.Charcadet or Species.Armarouge or Species.Ceruledge => 2157,\n        Species.Toedscool or Species.Toedscruel => 2158,\n        Species.Wooper or Species.Quagsire or Species.Clodsire => 2159,\n\n        Species.Ekans or Species.Arbok => 2438,\n        Species.Sandshrew or Species.Sandslash => 2439,\n        Species.Cleffa or Species.Clefairy or Species.Clefable => 2440,\n        Species.Vulpix or Species.Ninetales => 2441,\n        Species.Poliwag\n            or Species.Poliwhirl\n            or Species.Poliwrath\n            or Species.Politoed\n            => 2442,\n        Species.Bellsprout or Species.Weepinbell or Species.Victreebel => 2443,\n        Species.Geodude or Species.Graveler or Species.Golem => 2444,\n        Species.Koffing or Species.Weezing => 2445,\n        Species.Munchlax or Species.Snorlax => 2446,\n        Species.Sentret or Species.Furret => 2447,\n        Species.Hoothoot or Species.Noctowl => 2448,\n        Species.Spinarak or Species.Ariados => 2449,\n        Species.Aipom or Species.Ambipom => 2450,\n        Species.Yanma or Species.Yanmega => 2451,\n        Species.Gligar or Species.Gliscor => 2452,\n        Species.Slugma or Species.Magcargo => 2453,\n        Species.Swinub or Species.Piloswine or Species.Mamoswine => 2454,\n        Species.Poochyena or Species.Mightyena => 2455,\n        Species.Lotad or Species.Lombre or Species.Ludicolo => 2456,\n        Species.Seedot or Species.Nuzleaf or Species.Shiftry => 2457,\n        Species.Nosepass or Species.Probopass => 2458,\n        Species.Volbeat => 2459,\n        Species.Illumise => 2460,\n        Species.Corphish or Species.Crawdaunt => 2461,\n        Species.Feebas or Species.Milotic => 2462,\n        Species.Duskull or Species.Dusclops or Species.Dusknoir => 2463,\n        Species.Chingling or Species.Chimecho => 2464,\n        Species.Timburr or Species.Gurdurr or Species.Conkeldurr => 2465,\n        Species.Sewaddle or Species.Swadloon or Species.Leavanny => 2466,\n        Species.Ducklett or Species.Swanna => 2467,\n        Species.Litwick or Species.Lampent or Species.Chandelure => 2468,\n        Species.Mienfoo or Species.Mienshao => 2469,\n        Species.Vullaby or Species.Mandibuzz => 2470,\n        Species.Carbink => 2471,\n        Species.Phantump or Species.Trevenant => 2472,\n        Species.Grubbin or Species.Charjabug or Species.Vikavolt => 2473,\n        Species.Cutiefly or Species.Ribombee => 2474,\n        Species.Jangmoo or Species.Hakamoo or Species.Kommoo => 2475,\n        Species.Cramorant => 2476,\n        Species.Morpeko => 2477,\n        Species.Poltchageist or Species.Sinistcha => 2478,\n\n        _ => 10000,\n    };\n}\n\npublic class RaidFixedRewards\n{\n    public ulong TableName { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem00 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem01 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem02 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem03 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem04 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem05 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem06 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem07 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem08 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem09 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem10 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem11 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem12 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem13 { get; set; }\n    public RaidFixedRewardItemInfo? RewardItem14 { get; set; }\n\n    public const int Count = 15;\n\n    public RaidFixedRewardItemInfo? GetReward(int index) => index switch\n    {\n        00 => RewardItem00,\n        01 => RewardItem01,\n        02 => RewardItem02,\n        03 => RewardItem03,\n        04 => RewardItem04,\n        05 => RewardItem05,\n        06 => RewardItem06,\n        07 => RewardItem07,\n        08 => RewardItem08,\n        09 => RewardItem09,\n        10 => RewardItem10,\n        11 => RewardItem11,\n        12 => RewardItem12,\n        13 => RewardItem13,\n        14 => RewardItem14,\n        _ => throw new ArgumentOutOfRangeException(nameof(index)),\n    };\n}\n\npublic class RaidLotteryRewards\n{\n    public ulong TableName { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem00 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem01 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem02 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem03 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem04 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem05 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem06 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem07 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem08 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem09 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem10 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem11 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem12 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem13 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem14 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem15 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem16 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem17 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem18 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem19 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem20 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem21 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem22 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem23 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem24 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem25 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem26 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem27 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem28 { get; set; }\n    public RaidLotteryRewardItemInfo? RewardItem29 { get; set; }\n\n    public const int RewardItemCount = 30;\n\n    // Get reward item from index\n    public RaidLotteryRewardItemInfo? GetRewardItem(int index) => index switch\n    {\n        00 => RewardItem00,\n        01 => RewardItem01,\n        02 => RewardItem02,\n        03 => RewardItem03,\n        04 => RewardItem04,\n        05 => RewardItem05,\n        06 => RewardItem06,\n        07 => RewardItem07,\n        08 => RewardItem08,\n        09 => RewardItem09,\n        10 => RewardItem10,\n        11 => RewardItem11,\n        12 => RewardItem12,\n        13 => RewardItem13,\n        14 => RewardItem14,\n        15 => RewardItem15,\n        16 => RewardItem16,\n        17 => RewardItem17,\n        18 => RewardItem18,\n        19 => RewardItem19,\n        20 => RewardItem20,\n        21 => RewardItem21,\n        22 => RewardItem22,\n        23 => RewardItem23,\n        24 => RewardItem24,\n        25 => RewardItem25,\n        26 => RewardItem26,\n        27 => RewardItem27,\n        28 => RewardItem28,\n        29 => RewardItem29,\n        _ => throw new ArgumentOutOfRangeException(nameof(index), index, null),\n    };\n}\n\n[JsonSerializable(typeof(RaidLotteryRewardItemInfo))]\n[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]\npublic class RaidLotteryRewardItemInfo\n{\n    [FlatBufferItem(0)]\n    public int Category { get; set; }\n\n    [FlatBufferItem(1)]\n    public int ItemID { get; set; }\n\n    [FlatBufferItem(2)]\n    public sbyte Num { get; set; }\n\n    [FlatBufferItem(3)]\n    public int Rate { get; set; }\n\n    [FlatBufferItem(4)]\n    public bool RareItemFlag { get; set; }\n}\n\n[JsonSerializable(typeof(RaidFixedRewardItemInfo))]\n[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]\npublic class RaidFixedRewardItemInfo\n{\n    [FlatBufferItem(0)]\n    public int Category { get; set; }\n\n    [FlatBufferItem(1)]\n    public int SubjectType { get; set; }\n\n    [FlatBufferItem(2)]\n    public int ItemID { get; set; }\n\n    [FlatBufferItem(3)]\n    public sbyte Num { get; set; }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/TeraDistribution.cs",
    "content": "using PKHeX.Core;\nusing pkNX.Structures.FlatBuffers.Gen9;\nusing System.Diagnostics;\nusing static System.Buffers.Binary.BinaryPrimitives;\n\nnamespace RaidCrawler.Core.Structures;\n\npublic class TeraDistribution : ITeraRaid\n{\n    public readonly EncounterDist9 Entity; // Raw data\n    public readonly ulong DropTableFix;\n    public readonly ulong DropTableRandom;\n    public readonly ushort[] ExtraMoves;\n    public readonly sbyte DeliveryGroupID;\n\n    public ushort Species => Entity.Species;\n    public byte Form => Entity.Form;\n    public byte Gender => Entity.Gender;\n    public AbilityPermission Ability => Entity.Ability;\n    public byte FlawlessIVCount => Entity.FlawlessIVCount;\n    public Shiny Shiny => Entity.Shiny;\n    public Nature Nature => Entity.Nature;\n    public byte Level => Entity.Level;\n    public IndividualValueSet IVs => Entity.IVs;\n    public ushort Move1 => Entity.Moves.Move1;\n    public ushort Move2 => Entity.Moves.Move2;\n    public ushort Move3 => Entity.Moves.Move3;\n    public ushort Move4 => Entity.Moves.Move4;\n    public byte Stars => Entity.Stars;\n    public byte RandRate => Entity.RandRate;\n    ushort[] ITeraRaid.ExtraMoves => ExtraMoves;\n\n    public static bool AvailableInGame(ITeraRaid9 enc, string game) => enc switch\n    {\n        EncounterDist9 encd => game switch\n        {\n            \"Scarlet\" => encd.RandRate0TotalScarlet + encd.RandRate1TotalScarlet + encd.RandRate2TotalScarlet + encd.RandRate3TotalScarlet != 0,\n            \"Violet\" => encd.RandRate0TotalViolet + encd.RandRate1TotalViolet + encd.RandRate2TotalViolet + encd.RandRate3TotalViolet != 0,\n            _ => false,\n        },\n        EncounterMight9 encm => game switch\n        {\n            \"Scarlet\" => encm.RandRate0TotalScarlet + encm.RandRate1TotalScarlet + encm.RandRate2TotalScarlet + encm.RandRate3TotalScarlet != 0,\n            \"Violet\" => encm.RandRate0TotalViolet + encm.RandRate1TotalViolet + encm.RandRate2TotalViolet + encm.RandRate3TotalViolet != 0,\n            _ => false,\n        },\n        _ => false,\n    };\n\n    public TeraDistribution(EncounterDist9 enc, ulong fixedRewards, ulong lotteryRewards, ushort[] extras, sbyte group)\n    {\n        Entity = enc;\n        DropTableFix = fixedRewards;\n        DropTableRandom = lotteryRewards;\n        ExtraMoves = extras\n            .Where(z => z != 0 && !Entity.Moves.Contains(z))\n            .Distinct()\n            .ToArray();\n        DeliveryGroupID = group;\n        if (ExtraMoves.Length > 4)\n            Debug.WriteLine(ExtraMoves);\n    }\n\n    public static TeraDistribution[] GetAllEncounters(ReadOnlyMemory<byte> encounters)\n    {\n        var all = FlatbufferDumper.DumpDistributionRaids(encounters);\n        var type2 = EncounterDist9.GetArray(all[0]);\n        var rewards2 = GetRewardTables(all[2]);\n        var extra2 = all[4];\n        var group2 = all[6];\n        var result = new TeraDistribution[type2.Length];\n        for (int i = 0; i < result.Length; i++)\n        {\n            var i1 = rewards2[i].Item1;\n            var i2 = rewards2[i].Item2;\n            var extras = extra2[(12 * i)..];\n            result[i] = new TeraDistribution(type2[i], i1, i2, GetExtraMoves(extras), (sbyte)group2[i]);\n        }\n        return result;\n    }\n\n    public static (ulong, ulong)[] GetRewardTables(ReadOnlySpan<byte> rewards)\n    {\n        var count = rewards.Length / 0x10;\n        var result = new (ulong, ulong)[count];\n        for (int i = 0; i < result.Length; i++)\n        {\n            var reward1 = ReadUInt64LittleEndian(rewards[(0x10 * i)..]);\n            var reward2 = ReadUInt64LittleEndian(rewards[((0x10 * i) + 0x8)..]);\n            result[i] = (reward1, reward2);\n        }\n        return result;\n    }\n\n    public static ushort[] GetExtraMoves(ReadOnlySpan<byte> extra)\n    {\n        var result = new ushort[6];\n        for (int i = 0; i < result.Length; i++)\n            result[i] = ReadUInt16LittleEndian(extra[(0x2 * i)..]);\n        return result;\n    }\n\n    public static List<(int, int, int)> GetRewards(\n        TeraDistribution enc,\n        uint seed,\n        int teraType,\n        IReadOnlyList<DeliveryRaidFixedRewardItem>? fixedRewards,\n        IReadOnlyList<DeliveryRaidLotteryRewardItem>? lotteryRewards,\n        int boost\n    )\n    {\n        List<(int, int, int)> result = [];\n        if (lotteryRewards is null)\n            return result;\n\n        if (fixedRewards is null)\n            return result;\n\n        var fixedTable = fixedRewards.FirstOrDefault(z => z.TableName == enc.DropTableFix);\n        if (fixedTable is null)\n            return result;\n\n        var lotteryTable = lotteryRewards.FirstOrDefault(z => z.TableName == enc.DropTableRandom);\n        if (lotteryTable is null)\n            return result;\n\n        // fixed reward\n        for (int i = 0; i < DeliveryRaidFixedRewardItem.Count; i++)\n        {\n            var item = fixedTable.GetReward(i);\n            if (item is { Category: 0, ItemID: 0 })\n                continue;\n\n            var itemID = GetActualItemID(enc, teraType, item);\n            result.Add((itemID, item.Num, item.SubjectType));\n        }\n\n        // lottery reward\n        var total = 0;\n        for (int i = 0; i < DeliveryRaidLotteryRewardItem.RewardItemCount; i++)\n            total += lotteryTable.GetRewardItem(i).Rate;\n\n        var rand = new Xoroshiro128Plus(seed);\n        var count = (int)rand.NextInt(100);\n        count = Rewards.GetRewardCount(count, enc.Stars) + boost;\n\n        for (int i = 0; i < count; i++)\n        {\n            var roll = (int)rand.NextInt((ulong)total);\n            for (int j = 0; j < DeliveryRaidLotteryRewardItem.RewardItemCount; j++)\n            {\n                var item = lotteryTable.GetRewardItem(j);\n                if (roll < item.Rate)\n                {\n                    if (item.Category == 0)\n                        result.Add((item.ItemID, item.Num, 0));\n                    else if (item.Category == 1)\n                        result.Add(item.ItemID == 0 ? (Rewards.GetMaterial(enc.Species), item.Num, 0) : (item.ItemID, item.Num, 0));\n                    else\n                        result.Add(item.ItemID == 0 ? (Rewards.GetTeraShard(teraType), item.Num, 0) : (item.ItemID, item.Num, 0));\n                    break;\n                }\n                roll -= item.Rate;\n            }\n        }\n        return Rewards.ReorderRewards(result);\n    }\n\n    private static int GetActualItemID(ISpeciesForm enc, int teraType, pkNX.Structures.FlatBuffers.Gen9.RaidFixedRewardItemInfo item)\n    {\n        if (item.ItemID != 0)\n            return item.ItemID;\n        if (item.Category == 2)\n            return Rewards.GetTeraShard(teraType);\n        return Rewards.GetMaterial(enc.Species);\n    }\n}\n\npublic class TeraMight : ITeraRaid\n{\n    public readonly EncounterMight9 Entity; // Raw data\n    public readonly ulong DropTableFix;\n    public readonly ulong DropTableRandom;\n    public readonly ushort[] ExtraMoves;\n    public readonly sbyte DeliveryGroupID;\n\n    public ushort Species => Entity.Species;\n    public byte Form => Entity.Form;\n    public byte Gender => Entity.Gender;\n    public AbilityPermission Ability => Entity.Ability;\n    public byte FlawlessIVCount => Entity.FlawlessIVCount;\n    public Shiny Shiny => Entity.Shiny;\n    public Nature Nature => Entity.Nature;\n    public byte Level => Entity.Level;\n    public IndividualValueSet IVs => Entity.IVs;\n    public ushort Move1 => Entity.Moves.Move1;\n    public ushort Move2 => Entity.Moves.Move2;\n    public ushort Move3 => Entity.Moves.Move3;\n    public ushort Move4 => Entity.Moves.Move4;\n    public byte Stars => Entity.Stars;\n    public byte RandRate => Entity.RandRate;\n    ushort[] ITeraRaid.ExtraMoves => ExtraMoves;\n\n    public static bool AvailableInGame(ITeraRaid9 enc, string game) => enc switch\n    {\n        EncounterDist9 encd => game switch\n        {\n            \"Scarlet\" => encd.RandRate0TotalScarlet + encd.RandRate1TotalScarlet + encd.RandRate2TotalScarlet + encd.RandRate3TotalScarlet != 0,\n            \"Violet\" => encd.RandRate0TotalViolet + encd.RandRate1TotalViolet + encd.RandRate2TotalViolet + encd.RandRate3TotalViolet != 0,\n            _ => false,\n        },\n        EncounterMight9 encm => game switch\n        {\n            \"Scarlet\" => encm.RandRate0TotalScarlet + encm.RandRate1TotalScarlet + encm.RandRate2TotalScarlet + encm.RandRate3TotalScarlet != 0,\n            \"Violet\" => encm.RandRate0TotalViolet + encm.RandRate1TotalViolet + encm.RandRate2TotalViolet + encm.RandRate3TotalViolet != 0,\n            _ => false,\n        },\n        _ => false,\n    };\n\n    public TeraMight(EncounterMight9 enc, ulong fixedRewards, ulong lotteryRewards, ushort[] extras, sbyte group)\n    {\n        Entity = enc;\n        DropTableFix = fixedRewards;\n        DropTableRandom = lotteryRewards;\n        ExtraMoves = extras\n            .Where(z => z != 0 && !Entity.Moves.Contains(z))\n            .Distinct()\n            .ToArray();\n        DeliveryGroupID = group;\n        if (ExtraMoves.Length > 4)\n            Debug.WriteLine(ExtraMoves);\n    }\n\n    public static TeraMight[] GetAllEncounters(ReadOnlyMemory<byte> encounters)\n    {\n        var all = FlatbufferDumper.DumpDistributionRaids(encounters);\n        var type3 = EncounterMight9.GetArray(all[1]);\n        var rewards3 = GetRewardTables(all[3]);\n        var extra3 = all[5];\n        var group3 = all[7];\n        var result = new TeraMight[type3.Length];\n        for (int i = 0; i < result.Length; i++)\n        {\n            var item1 = rewards3[i].Item1;\n            var item2 = rewards3[i].Item2;\n            var extra = GetExtraMoves(extra3[(12 * i)..]);\n            result[i] = new TeraMight(type3[i], item1, item2, extra, (sbyte)group3[i]);\n        }\n        return result;\n    }\n\n    public static (ulong, ulong)[] GetRewardTables(ReadOnlySpan<byte> rewards)\n    {\n        var count = rewards.Length / 0x10;\n        var result = new (ulong, ulong)[count];\n        for (int i = 0; i < result.Length; i++)\n        {\n            var item1 = ReadUInt64LittleEndian(rewards[(0x10 * i)..]);\n            var item2 = ReadUInt64LittleEndian(rewards[((0x10 * i) + 0x8)..]);\n            result[i] = (item1, item2);\n        }\n        return result;\n    }\n\n    public static ushort[] GetExtraMoves(ReadOnlySpan<byte> extra)\n    {\n        var result = new ushort[6];\n        for (int i = 0; i < result.Length; i++)\n            result[i] = ReadUInt16LittleEndian(extra[(0x2 * i)..]);\n        return result;\n    }\n\n    public static List<(int, int, int)> GetRewards(TeraMight enc, uint seed, int teraType, IReadOnlyList<DeliveryRaidFixedRewardItem>? fixedRewards, IReadOnlyList<DeliveryRaidLotteryRewardItem>? lotteryRewards, int boost)\n    {\n        List<(int, int, int)> result = [];\n        if (lotteryRewards is null)\n            return result;\n\n        if (fixedRewards is null)\n            return result;\n\n        var fixedTable = fixedRewards.FirstOrDefault(z => z.TableName == enc.DropTableFix);\n        if (fixedTable is null)\n            return result;\n\n        var lotteryTable = lotteryRewards.FirstOrDefault(z => z.TableName == enc.DropTableRandom);\n        if (lotteryTable is null)\n            return result;\n\n        // fixed reward\n        for (int i = 0; i < DeliveryRaidFixedRewardItem.Count; i++)\n        {\n            var item = fixedTable.GetReward(i);\n            if (item is { Category: 0, ItemID: 0 })\n                continue;\n            var itemID = GetActualItemID(enc, teraType, item);\n            result.Add((itemID, item.Num, item.SubjectType));\n        }\n\n        // lottery reward\n        var total = 0;\n        for (int i = 0; i < DeliveryRaidLotteryRewardItem.RewardItemCount; i++)\n            total += lotteryTable.GetRewardItem(i).Rate;\n\n        var rand = new Xoroshiro128Plus(seed);\n        var count = (int)rand.NextInt(100);\n        count = Rewards.GetRewardCount(count, enc.Stars) + boost;\n\n        for (int i = 0; i < count; i++)\n        {\n            var roll = (int)rand.NextInt((ulong)total);\n            for (int j = 0; j < DeliveryRaidLotteryRewardItem.RewardItemCount; j++)\n            {\n                var item = lotteryTable.GetRewardItem(j);\n                if (roll < item.Rate)\n                {\n                    if (item.Category == 0)\n                        result.Add((item.ItemID, item.Num, 0));\n                    else if (item.Category == 1)\n                        result.Add(item.ItemID == 0 ? (Rewards.GetMaterial(enc.Species), item.Num, 0) : (item.ItemID, item.Num, 0));\n                    else\n                        result.Add(item.ItemID == 0 ? (Rewards.GetTeraShard(teraType), item.Num, 0) : (item.ItemID, item.Num, 0));\n                    break;\n                }\n                roll -= item.Rate;\n            }\n        }\n        return Rewards.ReorderRewards(result);\n    }\n\n    private static int GetActualItemID(ISpeciesForm enc, int teraType, pkNX.Structures.FlatBuffers.Gen9.RaidFixedRewardItemInfo item)\n    {\n        if (item.ItemID != 0)\n            return item.ItemID;\n        if (item.Category == 2)\n            return Rewards.GetTeraShard(teraType);\n        return Rewards.GetMaterial(enc.Species);\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.Core/Structures/TeraEncounter.cs",
    "content": "﻿using PKHeX.Core;\nusing pkNX.Structures.FlatBuffers.Gen9;\nusing System.Diagnostics;\n\nnamespace RaidCrawler.Core.Structures;\n\npublic class TeraEncounter : ITeraRaid\n{\n    public readonly EncounterTera9 Entity; // Raw data\n    public readonly ulong DropTableFix;\n    public readonly ulong DropTableRandom;\n    public readonly ushort[] ExtraMoves;\n    public ushort Species => Entity.Species;\n    public byte Form => Entity.Form;\n    public byte Gender => Entity.Gender;\n    public AbilityPermission Ability => Entity.Ability;\n    public byte FlawlessIVCount => Entity.FlawlessIVCount;\n    public Shiny Shiny => Entity.Shiny;\n    public byte Level => Entity.Level;\n    public ushort Move1 => Entity.Moves.Move1;\n    public ushort Move2 => Entity.Moves.Move2;\n    public ushort Move3 => Entity.Moves.Move3;\n    public ushort Move4 => Entity.Moves.Move4;\n    public byte Stars => Entity.Stars;\n    public byte RandRate => Entity.RandRate;\n    ushort[] ITeraRaid.ExtraMoves => ExtraMoves;\n\n    public TeraEncounter(\n        EncounterTera9 enc,\n        ulong fixedRewards,\n        ulong lotteryRewards,\n        ushort[] extras\n    )\n    {\n        Entity = enc;\n        DropTableFix = fixedRewards;\n        DropTableRandom = lotteryRewards;\n        ExtraMoves = extras\n            .Where(z => z != 0 && !Entity.Moves.Contains(z))\n            .Distinct()\n            .ToArray();\n        if (ExtraMoves.Length > 4)\n            Debug.WriteLine(ExtraMoves);\n    }\n\n    public static TeraEncounter[] GetAllEncounters(string[] resources, TeraRaidMapParent map)\n    {\n        var data = FlatbufferDumper.DumpBaseROMRaids(resources);\n        var encs = EncounterTera9.GetArray(data[0], map);\n        var extras = data[1].AsSpan();\n        var rewards = TeraDistribution.GetRewardTables(data[2]);\n        var result = new TeraEncounter[encs.Length];\n        for (int i = 0; i < encs.Length; i++)\n        {\n            var item1 = rewards[i].Item1;\n            var item2 = rewards[i].Item2;\n            var extra = TeraDistribution.GetExtraMoves(extras[(12 * i)..]);\n            result[i] = new TeraEncounter(encs[i], item1, item2, extra);\n        }\n        return result;\n    }\n\n    public static List<(int, int, int)> GetRewards(TeraEncounter enc, uint seed, int teraType, IReadOnlyList<RaidFixedRewards>? fixedRewards, IReadOnlyList<RaidLotteryRewards>? lotteryRewards, int boost)\n    {\n        List<(int, int, int)> result = [];\n        if (lotteryRewards is null || fixedRewards is null)\n            return result;\n\n        var fixedTable = fixedRewards.FirstOrDefault(z => z.TableName == enc.DropTableFix);\n        if (fixedTable is null)\n            return result;\n\n        var lotteryTable = lotteryRewards.FirstOrDefault(z => z.TableName == enc.DropTableRandom);\n        if (lotteryTable is null)\n            return result;\n\n        // fixed reward\n        for (int i = 0; i < RaidFixedRewards.Count; i++)\n        {\n            var item = fixedTable.GetReward(i);\n            if (item is null or { Category: 0, ItemID: 0 })\n                continue;\n\n            result.Add(\n                (\n                    item.ItemID == 0\n                        ? item.Category == 2\n                            ? Rewards.GetTeraShard(teraType)\n                            : Rewards.GetMaterial(enc.Species)\n                        : item.ItemID,\n                    item.Num,\n                    item.SubjectType\n                )\n            );\n        }\n\n        // lottery reward\n        var total = 0;\n        for (int i = 0; i < RaidLotteryRewards.RewardItemCount; i++)\n            total += lotteryTable.GetRewardItem(i)!.Rate;\n\n        var rand = new Xoroshiro128Plus(seed);\n        var count = (int)rand.NextInt(100); // sandwich = extra rolls? how does this work? is this even 100?\n        count = Rewards.GetRewardCount(count, enc.Stars) + boost;\n        for (int i = 0; i < count; i++)\n        {\n            var roll = (int)rand.NextInt((ulong)total);\n            for (int j = 0; j < DeliveryRaidLotteryRewardItem.RewardItemCount; j++)\n            {\n                var item = lotteryTable.GetRewardItem(j)!;\n                if (roll < item.Rate)\n                {\n                    if (item.Category == 0)\n                        result.Add((item.ItemID, item.Num, 0));\n                    else if (item.Category == 1)\n                        result.Add(item.ItemID == 0 ? (Rewards.GetMaterial(enc.Species), item.Num, 0) : (item.ItemID, item.Num, 0));\n                    else\n                        result.Add(item.ItemID == 0 ? (Rewards.GetTeraShard(teraType), item.Num, 0) : (item.ItemID, item.Num, 0));\n                    break;\n                }\n                roll -= item.Rate;\n            }\n        }\n        return Rewards.ReorderRewards(result);\n    }\n}"
  },
  {
    "path": "RaidCrawler.Core/Structures/Utils.cs",
    "content": "using PKHeX.Core;\nusing System.Numerics;\nusing System.Reflection;\n\nnamespace RaidCrawler.Core.Structures;\n\npublic static class Utils\n{\n    private static readonly Assembly thisAssembly;\n    private static readonly Dictionary<string, string> resourceNameMap;\n\n    static Utils()\n    {\n        thisAssembly = Assembly.GetExecutingAssembly();\n        resourceNameMap = BuildLookup(thisAssembly.GetManifestResourceNames());\n    }\n\n    private static Dictionary<string, string> BuildLookup(IReadOnlyCollection<string> manifestNames)\n    {\n        var result = new Dictionary<string, string>(manifestNames.Count);\n        foreach (var resName in manifestNames)\n        {\n            var fileName = GetFileName(resName);\n            result.TryAdd(fileName, resName);\n        }\n        return result;\n    }\n\n    private static string GetFileName(string resName)\n    {\n        var period = resName.LastIndexOf('.', resName.Length - 6);\n        var start = period + 1;\n        System.Diagnostics.Debug.Assert(start != 0);\n\n        // text file fetch excludes \".txt\" (mixed case...); other extensions are used (all lowercase).\n        return resName.EndsWith(\".txt\", StringComparison.Ordinal)\n            ? resName[start..^4].ToLowerInvariant()\n            : resName[start..];\n    }\n\n    public static byte[] GetBinaryResource(string name)\n    {\n        if (!resourceNameMap.TryGetValue(name, out var resName))\n            return [];\n\n        using var resource = thisAssembly.GetManifestResourceStream(resName);\n        if (resource is null)\n            return [];\n\n        var buffer = new byte[resource.Length];\n        _ = resource.Read(buffer, 0, (int)resource.Length);\n        return buffer;\n    }\n\n    public static string? GetStringResource(string name)\n    {\n        if (!resourceNameMap.TryGetValue(name.ToLowerInvariant(), out var resourceName))\n            return null;\n\n        using var resource = thisAssembly.GetManifestResourceStream(resourceName);\n        if (resource is null)\n            return null;\n\n        using var reader = new StreamReader(resource);\n        return reader.ReadToEnd();\n    }\n\n    public static Version? GetLatestVersion()\n    {\n        const string endpoint = \"https://api.github.com/repos/LegoFigure11/RaidCrawler/releases/latest\";\n        var response = NetUtil.GetStringFromURL(new Uri(endpoint));\n        if (response is null) return null;\n\n        const string tag = \"tag_name\";\n        var index = response.IndexOf(tag, StringComparison.Ordinal);\n        if (index == -1) return null;\n\n        var first = response.IndexOf('\"', index + tag.Length + 1) + 1;\n        if (first == 0) return null;\n\n        var second = response.IndexOf('\"', first);\n        if (second == -1) return null;\n\n        var tagString = response.AsSpan()[first..second].TrimStart('v');\n\n        var patchIndex = tagString.IndexOf('-');\n        if (patchIndex != -1) tagString = tagString.ToString().Remove(patchIndex).AsSpan();\n\n        return !Version.TryParse(tagString, out var latestVersion) ? null : latestVersion;\n    }\n\n    public static string GetFormString(ushort species, byte form, GameStrings formStrings, EntityContext context = EntityContext.Gen9)\n    {\n        var result = ShowdownParsing.GetStringFromForm(form, formStrings, species, context);\n        if (result.Length > 0 && result[0] != '-')\n            return result.Insert(0, \"-\");\n        return result;\n    }\n\n    public static int[] ToSpeedLast(ReadOnlySpan<int> ivs) => [ivs[0], ivs[1], ivs[2], ivs[4], ivs[5], ivs[3]];\n}\n"
  },
  {
    "path": "RaidCrawler.Tests/FilterTests.cs",
    "content": "using FluentAssertions;\nusing System.ComponentModel;\nusing Xunit;\n\nnamespace RaidCrawler.Tests;\n\npublic class FilterTests : TestUtil\n{\n    private const string SennaDitto =\n        \"RaidCrawler.Tests.Blocks.senna_9_132_Modest_31_0_31_31_31_31_SL\"; // Progress: 4 story\n    private const string SennaDittoFilterAtk = \"RaidCrawler.Tests.Filters.Ditto0Atk.json\";\n    private const string SennaDittoFilterSpe = \"RaidCrawler.Tests.Filters.Ditto0Spe.json\";\n\n    private const string NewtShinyBounsweet =\n        \"RaidCrawler.Tests.Blocks.newt_56_761_Calm_4_7_4_3_31_25_VL\"; // Progress: 0 story\n    private const string NewtBounsweetFilter = \"RaidCrawler.Tests.Filters.BounsweetShiny.json\";\n\n    private const string IVControlFilter = \"RaidCrawler.Tests.Filters.IVControl.json\";\n\n    [Theory]\n    [InlineData(SennaDitto, SennaDittoFilterAtk, IVControlFilter, 4)]\n    [InlineData(SennaDitto, SennaDittoFilterSpe, IVControlFilter, 4)]\n    [InlineData(NewtShinyBounsweet, NewtBounsweetFilter, IVControlFilter, 0)]\n    [Description(\"Test various stat filters.\")]\n    public void FilterTest(string path, string filterPath, string controlPath, int storyPrg)\n    {\n        var raid = GetRaidContainer(path, storyPrg);\n        raid.Item1.delivery.Should().Be(0);\n        raid.Item1.enc.Should().Be(0);\n\n        var container = raid.Item2;\n        container.Should().NotBeNull();\n\n        var filter = GetRaidFilter(filterPath)[0];\n        filter.Should().NotBeNull();\n\n        var raids = container!.Raids;\n        var encounters = container.Encounters;\n        var satisfied = 0;\n        for (int i = 0; i < raids.Count; i++)\n        {\n            if (filter.FilterSatisfied(container, encounters[i], raids[i], 0))\n                satisfied++;\n        }\n        satisfied.Should().NotBe(0);\n\n        var controlFilter = GetRaidFilter(controlPath)[0];\n        filter.IVBin = controlFilter.IVBin;\n        filter.IVComps = controlFilter.IVComps;\n        filter.IVVals = controlFilter.IVVals;\n        satisfied = 0;\n        for (int i = 0; i < raids.Count; i++)\n        {\n            if (filter.FilterSatisfied(container, encounters[i], raids[i], 0))\n                satisfied++;\n        }\n        satisfied.Should().Be(0);\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.Tests/Filters/BounsweetShiny.json",
    "content": "[{\"Name\":\"BounsweetShiny\",\"Species\":761,\"Form\":null,\"Stars\":null,\"StarsComp\":0,\"Shiny\":true,\"Square\":false,\"Nature\":20,\"TeraType\":null,\"Gender\":null,\"IVBin\":0,\"IVComps\":0,\"IVVals\":1073740831,\"Enabled\":true,\"RewardItems\":null,\"RewardsComp\":-1,\"RewardsCount\":0,\"BatchFilters\":null}]"
  },
  {
    "path": "RaidCrawler.Tests/Filters/Ditto0Atk.json",
    "content": "[{\"Name\":\"Ditto0Atk\",\"Species\":132,\"Form\":null,\"Stars\":null,\"StarsComp\":0,\"Shiny\":false,\"Square\":false,\"Nature\":15,\"TeraType\":null,\"Gender\":null,\"IVBin\":63,\"IVComps\":0,\"IVVals\":1073740831,\"Enabled\":true,\"RewardItems\":null,\"RewardsComp\":-1,\"RewardsCount\":0,\"BatchFilters\":null}]"
  },
  {
    "path": "RaidCrawler.Tests/Filters/Ditto0Spe.json",
    "content": "[{\"Name\":\"Ditto0Spe\",\"Species\":null,\"Form\":null,\"Stars\":null,\"StarsComp\":0,\"Shiny\":false,\"Square\":false,\"Nature\":null,\"TeraType\":null,\"Gender\":null,\"IVBin\":63,\"IVComps\":0,\"IVVals\":33554431,\"Enabled\":true,\"RewardItems\":null,\"RewardsComp\":-1,\"RewardsCount\":0,\"BatchFilters\":null}]"
  },
  {
    "path": "RaidCrawler.Tests/Filters/IVControl.json",
    "content": "[{\"Name\":\"IVControl\",\"Species\":null,\"Form\":null,\"Stars\":null,\"StarsComp\":0,\"Shiny\":false,\"Square\":false,\"Nature\":null,\"TeraType\":null,\"Gender\":null,\"IVBin\":63,\"IVComps\":0,\"IVVals\":206703681,\"Enabled\":true,\"RewardItems\":null,\"RewardsComp\":-1,\"RewardsCount\":0,\"BatchFilters\":null}]"
  },
  {
    "path": "RaidCrawler.Tests/RaidCrawler.Tests.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <ImplicitUsings>enable</ImplicitUsings>\n    <Nullable>enable</Nullable>\n\n    <IsPackable>false</IsPackable>\n    <IsTestProject>true</IsTestProject>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <None Remove=\"Blocks\\lisa_30_449_Gentle_21_31_25_21_8_31_SL\\base\" />\n    <None Remove=\"Blocks\\lisa_30_449_Gentle_21_31_25_21_8_31_SL\\fixed_reward_item_array\" />\n    <None Remove=\"Blocks\\lisa_30_449_Gentle_21_31_25_21_8_31_SL\\lottery_reward_item_array\" />\n    <None Remove=\"Blocks\\lisa_30_449_Gentle_21_31_25_21_8_31_SL\\raid_enemy_array\" />\n    <None Remove=\"Blocks\\lisa_30_449_Gentle_21_31_25_21_8_31_SL\\raid_priority_array\" />\n    <None Remove=\"Blocks\\newt_56_761_Calm_4_7_4_3_31_25_VL\\base\" />\n    <None Remove=\"Blocks\\newt_56_761_Calm_4_7_4_3_31_25_VL\\fixed_reward_item_array\" />\n    <None Remove=\"Blocks\\newt_56_761_Calm_4_7_4_3_31_25_VL\\lottery_reward_item_array\" />\n    <None Remove=\"Blocks\\newt_56_761_Calm_4_7_4_3_31_25_VL\\raid_enemy_array\" />\n    <None Remove=\"Blocks\\newt_56_761_Calm_4_7_4_3_31_25_VL\\raid_priority_array\" />\n    <None Remove=\"Blocks\\senna_9_132_Modest_31_0_31_31_31_31_SL\\base\" />\n    <None Remove=\"Blocks\\senna_9_132_Modest_31_0_31_31_31_31_SL\\fixed_reward_item_array\" />\n    <None Remove=\"Blocks\\senna_9_132_Modest_31_0_31_31_31_31_SL\\lottery_reward_item_array\" />\n    <None Remove=\"Blocks\\senna_9_132_Modest_31_0_31_31_31_31_SL\\raid_enemy_array\" />\n    <None Remove=\"Blocks\\senna_9_132_Modest_31_0_31_31_31_31_SL\\raid_priority_array\" />\n    <None Remove=\"Blocks\\anubis_Might_cleared_VL\\base\" />\n    <None Remove=\"Blocks\\anubis_Might_cleared_VL\\fixed_reward_item_array\" />\n    <None Remove=\"Blocks\\anubis_Might_cleared_VL\\lottery_reward_item_array\" />\n    <None Remove=\"Blocks\\anubis_Might_cleared_VL\\raid_enemy_array\" />\n    <None Remove=\"Blocks\\anubis_Might_cleared_VL\\raid_priority_array\" />\n    <None Remove=\"Blocks\\buddy_12_Distro_noMight_VL\\base\" />\n    <None Remove=\"Blocks\\buddy_12_Distro_noMight_VL\\fixed_reward_item_array\" />\n    <None Remove=\"Blocks\\buddy_12_Distro_noMight_VL\\lottery_reward_item_array\" />\n    <None Remove=\"Blocks\\buddy_12_Distro_noMight_VL\\raid_enemy_array\" />\n    <None Remove=\"Blocks\\buddy_12_Distro_noMight_VL\\raid_priority_array\" />\n    <None Remove=\"Blocks\\chaos_12_Distro_noMight_VL\\base\" />\n    <None Remove=\"Blocks\\chaos_12_Distro_noMight_VL\\fixed_reward_item_array\" />\n    <None Remove=\"Blocks\\chaos_12_Distro_noMight_VL\\lottery_reward_item_array\" />\n    <None Remove=\"Blocks\\chaos_12_Distro_noMight_VL\\raid_enemy_array\" />\n    <None Remove=\"Blocks\\chaos_12_Distro_noMight_VL\\raid_priority_array\" />\n    <None Remove=\"Blocks\\zyro_Inteleon_IL_VL\\base\" />\n    <None Remove=\"Blocks\\zyro_Inteleon_IL_VL\\fixed_reward_item_array\" />\n    <None Remove=\"Blocks\\zyro_Inteleon_IL_VL\\lottery_reward_item_array\" />\n    <None Remove=\"Blocks\\zyro_Inteleon_IL_VL\\raid_enemy_array\" />\n    <None Remove=\"Blocks\\zyro_Inteleon_IL_VL\\raid_priority_array\" />\n    <None Remove=\"Filters\\BounsweetShiny.json\" />\n    <None Remove=\"Filters\\Ditto0Atk.json\" />\n    <None Remove=\"Filters\\Ditto0Spe.json\" />\n    <None Remove=\"Filters\\IVControl.json\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <EmbeddedResource Include=\"Blocks\\lisa_30_449_Gentle_21_31_25_21_8_31_SL\\base\" />\n    <EmbeddedResource Include=\"Blocks\\lisa_30_449_Gentle_21_31_25_21_8_31_SL\\fixed_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\lisa_30_449_Gentle_21_31_25_21_8_31_SL\\lottery_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\lisa_30_449_Gentle_21_31_25_21_8_31_SL\\raid_enemy_array\" />\n    <EmbeddedResource Include=\"Blocks\\lisa_30_449_Gentle_21_31_25_21_8_31_SL\\raid_priority_array\" />\n    <EmbeddedResource Include=\"Blocks\\newt_56_761_Calm_4_7_4_3_31_25_VL\\base\" />\n    <EmbeddedResource Include=\"Blocks\\newt_56_761_Calm_4_7_4_3_31_25_VL\\fixed_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\newt_56_761_Calm_4_7_4_3_31_25_VL\\lottery_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\newt_56_761_Calm_4_7_4_3_31_25_VL\\raid_enemy_array\" />\n    <EmbeddedResource Include=\"Blocks\\newt_56_761_Calm_4_7_4_3_31_25_VL\\raid_priority_array\" />\n    <EmbeddedResource Include=\"Blocks\\senna_9_132_Modest_31_0_31_31_31_31_SL\\base\" />\n    <EmbeddedResource Include=\"Blocks\\senna_9_132_Modest_31_0_31_31_31_31_SL\\fixed_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\senna_9_132_Modest_31_0_31_31_31_31_SL\\lottery_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\senna_9_132_Modest_31_0_31_31_31_31_SL\\raid_enemy_array\" />\n    <EmbeddedResource Include=\"Blocks\\senna_9_132_Modest_31_0_31_31_31_31_SL\\raid_priority_array\" />\n    <EmbeddedResource Include=\"Blocks\\anubis_Might_cleared_VL\\base\" />\n    <EmbeddedResource Include=\"Blocks\\anubis_Might_cleared_VL\\fixed_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\anubis_Might_cleared_VL\\raid_enemy_array\" />\n    <EmbeddedResource Include=\"Blocks\\anubis_Might_cleared_VL\\raid_priority_array\" />\n    <EmbeddedResource Include=\"Blocks\\buddy_12_Distro_noMight_VL\\base\" />\n    <EmbeddedResource Include=\"Blocks\\buddy_12_Distro_noMight_VL\\fixed_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\buddy_12_Distro_noMight_VL\\lottery_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\buddy_12_Distro_noMight_VL\\raid_enemy_array\" />\n    <EmbeddedResource Include=\"Blocks\\buddy_12_Distro_noMight_VL\\raid_priority_array\" />\n    <EmbeddedResource Include=\"Blocks\\chaos_12_Distro_noMight_VL\\base\" />\n    <EmbeddedResource Include=\"Blocks\\chaos_12_Distro_noMight_VL\\fixed_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\chaos_12_Distro_noMight_VL\\lottery_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\chaos_12_Distro_noMight_VL\\raid_enemy_array\" />\n    <EmbeddedResource Include=\"Blocks\\chaos_12_Distro_noMight_VL\\raid_priority_array\" />\n    <EmbeddedResource Include=\"Blocks\\zyro_Inteleon_IL_VL\\base\" />\n    <EmbeddedResource Include=\"Blocks\\zyro_Inteleon_IL_VL\\fixed_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\zyro_Inteleon_IL_VL\\lottery_reward_item_array\" />\n    <EmbeddedResource Include=\"Blocks\\zyro_Inteleon_IL_VL\\raid_enemy_array\" />\n    <EmbeddedResource Include=\"Blocks\\zyro_Inteleon_IL_VL\\raid_priority_array\" />\n    <EmbeddedResource Include=\"Filters\\BounsweetShiny.json\" />\n    <EmbeddedResource Include=\"Filters\\Ditto0Atk.json\" />\n    <EmbeddedResource Include=\"Filters\\Ditto0Spe.json\" />\n    <EmbeddedResource Include=\"Filters\\IVControl.json\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"FluentAssertions\" Version=\"6.12.0\" />\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"17.8.0\" />\n    <PackageReference Include=\"PKHeX.Core\" Version=\"25.6.9\" />\n    <PackageReference Include=\"xunit\" Version=\"2.6.2\" />\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.5.4\">\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n      <PrivateAssets>all</PrivateAssets>\n    </PackageReference>\n    <PackageReference Include=\"coverlet.collector\" Version=\"6.0.0\">\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n      <PrivateAssets>all</PrivateAssets>\n    </PackageReference>\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\RaidCrawler.Core\\RaidCrawler.Core.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <EmbeddedResource Include=\"Blocks\\anubis_Might_cleared_VL\\lottery_reward_item_array\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "RaidCrawler.Tests/RaidReadTests.cs",
    "content": "﻿using FluentAssertions;\nusing System.ComponentModel;\nusing Xunit;\n\nnamespace RaidCrawler.Tests;\n\npublic class RaidReadTests : TestUtil\n{\n    private const string AnubisMightCleared = \"RaidCrawler.Tests.Blocks.anubis_Might_cleared_VL\"; // Progress: 4 story\n    private const string Buddy12Distro = \"RaidCrawler.Tests.Blocks.buddy_12_Distro_noMight_VL\"; // Progress: 3 story\n    private const string Chaos12Distro = \"RaidCrawler.Tests.Blocks.chaos_12_Distro_noMight_VL\"; // Progress: 3 story\n    private const string ZyroInteleonIL = \"RaidCrawler.Tests.Blocks.zyro_Inteleon_IL_VL\"; // Progress: 4 story\n\n    [Theory]\n    [InlineData(AnubisMightCleared, 4, 67)]\n    [InlineData(Buddy12Distro, 3, 69)]\n    [InlineData(Chaos12Distro, 3, 69)]\n    [InlineData(ZyroInteleonIL, 4, 69)]\n    [Description(\n        \"Test read conditions where Might7 is possible but cleared, and where Might7 is possible but not present.\"\n    )]\n    public void RaidReadTest(string path, int storyPrg, int expectedRaids)\n    {\n        var raid = GetRaidContainer(path, storyPrg);\n        raid.Item1.delivery.Should().Be(0);\n        raid.Item1.enc.Should().Be(0);\n\n        var container = raid.Item2;\n        container.Should().NotBeNull();\n\n        var raidCount = container!.GetRaidCount();\n        var encCount = container.Encounters.Count;\n        container.GetRaidCount().Should().Be(expectedRaids);\n        raidCount.Should().Be(encCount);\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.Tests/RaidStatTests.cs",
    "content": "using FluentAssertions;\nusing PKHeX.Core;\nusing RaidCrawler.Core.Structures;\nusing System.ComponentModel;\nusing System.Diagnostics.Metrics;\nusing Xunit;\n\nnamespace RaidCrawler.Tests;\n\npublic class RaidStatTests : TestUtil\n{\n    private const string SennaDitto = \"RaidCrawler.Tests.Blocks.senna_9_132_Modest_31_0_31_31_31_31_SL\"; // Progress: 4 story\n    private const string NewtShinyBounsweet = \"RaidCrawler.Tests.Blocks.newt_56_761_Calm_4_7_4_3_31_25_VL\"; // Progress: 0 story\n    private const string HexManiacLisaHippopotas = \"RaidCrawler.Tests.Blocks.lisa_30_449_Gentle_21_31_25_21_8_31_SL\"; // Progress: 4 story\n\n    [Theory]\n    [InlineData(SennaDitto, 4, 9, Species.Ditto, new[] { 31, 0, 31, 31, 31, 31 }, Nature.Modest, false)]\n    [InlineData(NewtShinyBounsweet, 0, 56, Species.Bounsweet, new[] { 4, 7, 4, 3, 31, 25 }, Nature.Calm, true)]\n    [InlineData(HexManiacLisaHippopotas, 4, 30, Species.Hippopotas, new[] { 21, 31, 25, 21, 8, 31 }, Nature.Gentle, false)]\n    [Description(\"Test known stats for a given raid encounter to make sure they match expected values.\")]\n    public void StatsCorrect(string path, int storyPrg, int denIndex, Species species, int[] ivs, Nature nature, bool shiny)\n    {\n        var raids = GetRaidContainer(path, storyPrg);\n        raids.Item1.delivery.Should().Be(0);\n        raids.Item1.enc.Should().Be(0);\n\n        var container = raids.Item2;\n        container.Should().NotBeNull();\n\n        var raid = container!.Raids[denIndex];\n        var enc = container.Encounters[denIndex];\n        enc.Species.Should().Be((ushort)species);\n\n        var param = enc.GetParam();\n        var blank = new PK9 { Species = enc.Species, Form = enc.Form };\n\n        raid.GenerateDataPK9(blank, param, enc.Shiny, raid.Seed);\n\n        Span<int> _ivs = stackalloc int[6];\n        blank.GetIVs(_ivs);\n        var encIVs = Utils.ToSpeedLast(_ivs);\n        encIVs.SequenceEqual(ivs).Should().BeTrue();\n        blank.Nature.Should().Be(nature);\n        blank.IsShiny.Should().Be(shiny);\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.Tests/TestUtil.cs",
    "content": "﻿using RaidCrawler.Core.Structures;\nusing System.Reflection;\nusing System.Text.Json;\n\nnamespace RaidCrawler.Tests;\n\npublic class TestUtil\n{\n    private readonly Assembly assembly;\n\n    public TestUtil()\n    {\n        assembly = Assembly.GetExecutingAssembly();\n    }\n\n    private static string GetGame(string resource) =>\n        resource.Contains(\"_VL\", StringComparison.Ordinal) ? \"Violet\" : \"Scarlet\";\n\n    private static string GetTestResourceName(string name, string resource) =>\n        $\"{name}.{resource}\";\n\n    private byte[] GetBinaryTestResource(string name)\n    {\n        using var resource = assembly.GetManifestResourceStream(name)!;\n        using var reader = new BinaryReader(resource);\n        return reader.ReadBytes((int)resource.Length);\n    }\n\n    private string GetStringTestResource(string name)\n    {\n        using var resource = assembly.GetManifestResourceStream(name)!;\n        using var reader = new StreamReader(resource);\n        return reader.ReadToEnd();\n    }\n\n    public ((int delivery, int enc), RaidContainer?) GetRaidContainer(string path, int storyPrg)\n    {\n        var game = GetGame(path);\n        var container = new RaidContainer(game);\n        var eventPrg = Math.Min(storyPrg, 3);\n\n        // Read embedded distribution data.\n        var delivery_raid_prio = GetBinaryTestResource(\n            GetTestResourceName(path, \"raid_priority_array\")\n        );\n        (var group_id, var priority) = FlatbufferDumper.DumpDeliveryPriorities(\n            delivery_raid_prio\n        );\n        if (priority == 0)\n            return ((-1, -1), null);\n\n        var delivery_raid_fbs = GetBinaryTestResource(\n            GetTestResourceName(path, \"raid_enemy_array\")\n        );\n        var delivery_fixed_rewards = GetBinaryTestResource(\n            GetTestResourceName(path, \"fixed_reward_item_array\")\n        );\n        var delivery_lottery_rewards = GetBinaryTestResource(\n            GetTestResourceName(path, \"lottery_reward_item_array\")\n        );\n\n        container.DistTeraRaids = TeraDistribution.GetAllEncounters(delivery_raid_fbs);\n        container.MightTeraRaids = TeraMight.GetAllEncounters(delivery_raid_fbs);\n        container.DeliveryRaidPriority = group_id;\n        container.DeliveryRaidFixedRewards = FlatbufferDumper.DumpFixedRewards(\n            delivery_fixed_rewards\n        );\n        container.DeliveryRaidLotteryRewards = FlatbufferDumper.DumpLotteryRewards(\n            delivery_lottery_rewards\n        );\n\n        // Read embedded base data and read all raids.\n        var baseData = GetBinaryTestResource(GetTestResourceName(path, \"base\"));\n        var failed = container.ReadAllRaids(baseData, storyPrg, 0, eventPrg, 0);\n        return (failed, container);\n    }\n\n    public IReadOnlyList<RaidFilter> GetRaidFilter(string path)\n    {\n        var text = GetStringTestResource(path);\n        return JsonSerializer.Deserialize<List<RaidFilter>>(text)!;\n    }\n}"
  },
  {
    "path": "RaidCrawler.WinForms/App.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<configuration>\n    <configSections>\n    </configSections>\n</configuration>"
  },
  {
    "path": "RaidCrawler.WinForms/Config.cs",
    "content": "using RaidCrawler.Core.Interfaces;\nusing SysBot.Base;\n\nnamespace RaidCrawler.WinForms;\n\npublic class ClientConfig : IDateAdvanceConfig, IWebhookConfig\n{\n    // General\n    public string IP { get; set; } = \"192.168.0.0\";\n    public int UsbPort { get; set; }\n    public SwitchProtocol Protocol { get; set; } = SwitchProtocol.WiFi;\n    public string Game { get; set; } = \"Scarlet\";\n    public int Progress { get; set; }\n    public int EventProgress { get; set; }\n    public bool EnableFilters { get; set; } = true;\n    public bool PaldeaScan { get; set; } = true;\n    public bool KitakamiScan { get; set; } = true;\n    public bool BlueberryScan { get; set; } = true;\n\n    // Match\n    public bool FocusWindow { get; set; } = true;\n    public bool PlaySound { get; set; } = true;\n    public bool EnableAlertWindow { get; set; } = true;\n    public string AlertWindowMessage { get; set; } =\n        \"Match found! Hold Shift and click one of the arrow keys to jump to the matching result.\";\n    public bool EnableNotification { get; set; }\n    public string DiscordWebhook { get; set; } = string.Empty;\n    public string DiscordMessageContent { get; set; } = string.Empty;\n\n    // Date Advance\n    public bool ZyroMethod { get; set; }\n    public bool UseTouch { get; set; }\n    public bool UseOvershoot { get; set; }\n    public bool DodgeSystemUpdate { get; set; }\n    public bool SaveOnMatch { get; set; } = true;\n    public bool UseSetStick { get; set; }\n    public bool UseMapTrick { get; set; }\n\n    public int OpenHomeDelay { get; set; } = 1_800;\n    public int NavigateToSettingsDelay { get; set; } = 0_100;\n    public int OpenSettingsDelay { get; set; } = 1_000;\n    public int HoldDuration { get; set; } = 1_700;\n    public int SystemDownPresses { get; set; } = 38;\n    public int Submenu { get; set; } = 2_200;\n    public int DateChange { get; set; } = 0_500;\n    public int DaysToSkip { get; set; }\n    public int ReturnHomeDelay { get; set; } = 2_500;\n    public int ReturnGameDelay { get; set; } = 4_000;\n    public int SystemOvershoot { get; set; } = 0_750;\n    public int BaseDelay { get; set; }\n    public int SaveGameDelay { get; set; }\n    public int SystemReset { get; set; } = 30;\n    public int RelaunchDelay { get; set; }\n    public int ExtraOverworldWait { get; set; }\n\n    // Webhook\n    public bool EnableEmoji { get; set; } = true;\n    public bool VerboseIVs { get; set; }\n    public int IVsStyle { get; set; }\n    public string IVsSpacer { get; set; } = \" \";\n    public bool ToggleDen { get; set; } = true;\n    public Dictionary<string, string> Emoji { get; set; } = new()\n    {\n        { \"Bug\", \"<:bug:1064546304048496812>\" },\n        { \"Dark\", \"<:dark:1064557656079085588>\" },\n        { \"Dragon\", \"<:dragon:1064557631890538566>\" },\n        { \"Electric\", \"<:electric:1064557559563943956>\" },\n        { \"Fairy\", \"<:fairy:1064557682566123701>\" },\n        { \"Fighting\", \"<:fighting:1064546289406189648>\" },\n        { \"Fire\", \"<:fire:1064557482468446230>\" },\n        { \"Flying\", \"<:flying:1064546291239104623>\" },\n        { \"Ghost\", \"<:ghost:1064546307848536115>\" },\n        { \"Grass\", \"<:grass:1064557534096130099>\" },\n        { \"Ground\", \"<:ground:1064546296725241988>\" },\n        { \"Ice\", \"<:ice:1064557609857863770>\" },\n        { \"Normal\", \"<:normal:1064546286247886938>\" },\n        { \"Poison\", \"<:poison:1064546294854586400>\" },\n        { \"Psychic\", \"<:psychic:1064557585124049006>\" },\n        { \"Rock\", \"<:rock:1064546299992625242>\" },\n        { \"Steel\", \"<:steel:1064557443742453790>\" },\n        { \"Water\", \"<:water:1064557509404270642>\" },\n        { \"Male\", \"<:male:1064844611341795398>\" },\n        { \"Female\", \"<:female:1064844510636552212>\" },\n        { \"Shiny\", \"<:shiny:1064845915036323840>\" },\n        { \"Square Shiny\", \":white_square_button:\" },\n        { \"Event Star\", \"<:bluestar:1064538604409471016>\" },\n        { \"7 Star\", \"<:pinkstar:1064538642934140978>\" },\n        { \"Star\", \"<:yellowstar:1064538672113922109>\" },\n        { \"Health 0\", \"<:h0:1064842950573572126>\" },\n        { \"Health 31\", \"<:h31:1064726680628895784>\" },\n        { \"Attack 0\", \"<:a0:1064842895712075796>\" },\n        { \"Attack 31\", \"<:a31:1064726668419289138>\" },\n        { \"Defense 0\", \"<:b0:1064842811196833832>\" },\n        { \"Defense 31\", \"<:b31:1064726671703429220>\" },\n        { \"SpAttack 0\", \"<:c0:1064842749272133752>\" },\n        { \"SpAttack 31\", \"<:c31:1064726673649582121>\" },\n        { \"SpDefense 0\", \"<:d0:1064842668624068608>\" },\n        { \"SpDefense 31\", \"<:d31:1064726677176987832>\" },\n        { \"Speed 0\", \"<:s0:1064842545953243176>\" },\n        { \"Speed 31\", \"<:s31:1064726682721865818>\" },\n        { \"Sweet Herba\", \"<:sweetherba:1064541764163227759>\" },\n        { \"Sour Herba\", \"<:sourherba:1064541770148483073>\" },\n        { \"Salty Herba\", \"<:saltyherba:1064541768147796038>\" },\n        { \"Bitter Herba\", \"<:bitterherba:1064541773763977256>\" },\n        { \"Spicy Herba\", \"<:spicyherba:1064541776699994132>\" },\n        { \"Bottle Cap\", \"<:bottlecap:1064537470370320495>\" },\n        { \"Ability Capsule\", \"<:abilitycapsule:1064541406921752737>\" },\n        { \"Ability Patch\", \"<:abilitypatch:1064538087763476522>\" },\n    };\n\n    // Experimental\n    public bool StreamerView { get; set; }\n    public string InstanceName { get; set; } = string.Empty;\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/ErrorHandler/ErrorHandler.cs",
    "content": "using RaidCrawler.Core.Discord;\n\nnamespace RaidCrawler.WinForms;\n\npublic static class ErrorHandler\n{\n    public static async Task DisplayMessageBox(this Form form, NotificationHandler webhook, string msg, CancellationToken token, string caption = \"\")\n    {\n        caption = caption.Length == 0 ? \"RaidCrawler Error\" : caption;\n        await webhook.SendErrorNotification(msg, caption, token).ConfigureAwait(false);\n        if (form.InvokeRequired)\n            form.Invoke(() => MessageBox.Show(msg, caption, MessageBoxButtons.OK));\n        else\n            MessageBox.Show(msg, caption, MessageBoxButtons.OK);\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/MainWindow.Designer.cs",
    "content": "﻿namespace RaidCrawler.WinForms\n{\n    partial class MainWindow\n    {\n        /// <summary>\n        ///  Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        ///  Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        ///  Required method for Designer support - do not modify\n        ///  the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            components = new System.ComponentModel.Container();\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainWindow));\n            toolTip = new ToolTip(components);\n            ButtonAdvanceDate = new Button();\n            CheckEnableFilters = new CheckBox();\n            ButtonDisconnect = new Button();\n            ButtonConnect = new Button();\n            InputSwitchIP = new TextBox();\n            LabelSwitchIP = new Label();\n            LabelLoadedRaids = new Label();\n            TeraType = new TextBox();\n            LabelTeraType = new Label();\n            PID = new TextBox();\n            LabelPID = new Label();\n            EC = new TextBox();\n            LabelEC = new Label();\n            Seed = new TextBox();\n            LabelSeed = new Label();\n            ButtonNext = new Button();\n            ButtonPrevious = new Button();\n            Area = new TextBox();\n            LabelUNK_2 = new Label();\n            IVs = new TextBox();\n            LabelIVs = new Label();\n            ButtonReadRaids = new Button();\n            labelEvent = new Label();\n            Difficulty = new TextBox();\n            LabelDifficulty = new Label();\n            ButtonViewRAM = new Button();\n            Species = new TextBox();\n            LabelSpecies = new Label();\n            LabelMoves = new Label();\n            Move1 = new TextBox();\n            Move2 = new TextBox();\n            Move4 = new TextBox();\n            Move3 = new TextBox();\n            Nature = new TextBox();\n            LabelNature = new Label();\n            Gender = new TextBox();\n            LabelGender = new Label();\n            StopFilter = new Button();\n            Sprite = new PictureBox();\n            Ability = new TextBox();\n            LabelAbility = new Label();\n            GemIcon = new PictureBox();\n            ButtonDownloadEvents = new Button();\n            ConfigSettings = new Button();\n            Rewards = new Button();\n            LabelSandwichBonus = new Label();\n            RaidBoost = new ComboBox();\n            ComboIndex = new ComboBox();\n            SendScreenshot = new Button();\n            SearchTimer = new System.Timers.Timer();\n            btnOpenMap = new Button();\n            groupBox1 = new GroupBox();\n            statusStrip1 = new StatusStrip();\n            StatusLabel = new ToolStripStatusLabel();\n            ToolStripStatusLabel = new ToolStripStatusLabel();\n            Label_DayAdvance = new ToolStripStatusLabel();\n            USB_Port_label = new Label();\n            USB_Port_TB = new TextBox();\n            StopAdvance_Button = new Button();\n            B_DateTools = new Button();\n            ((System.ComponentModel.ISupportInitialize)Sprite).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)GemIcon).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)SearchTimer).BeginInit();\n            groupBox1.SuspendLayout();\n            statusStrip1.SuspendLayout();\n            SuspendLayout();\n            // \n            // ButtonAdvanceDate\n            // \n            ButtonAdvanceDate.Enabled = false;\n            ButtonAdvanceDate.Location = new Point(117, 98);\n            ButtonAdvanceDate.Margin = new Padding(4, 3, 4, 3);\n            ButtonAdvanceDate.Name = \"ButtonAdvanceDate\";\n            ButtonAdvanceDate.Size = new Size(96, 27);\n            ButtonAdvanceDate.TabIndex = 81;\n            ButtonAdvanceDate.Text = \"Advance Date\";\n            toolTip.SetToolTip(ButtonAdvanceDate, \"Advance Date performs one (1) time set.\\r\\n\\r\\nIf Stop Filters are defined, Advance Date\\r\\ncontinues advancing the date until a stop\\r\\nfilter has been hit.\");\n            ButtonAdvanceDate.UseVisualStyleBackColor = true;\n            ButtonAdvanceDate.Click += ButtonAdvanceDate_Click;\n            // \n            // CheckEnableFilters\n            // \n            CheckEnableFilters.AutoSize = true;\n            CheckEnableFilters.Checked = true;\n            CheckEnableFilters.CheckState = CheckState.Checked;\n            CheckEnableFilters.Location = new Point(117, 276);\n            CheckEnableFilters.Name = \"CheckEnableFilters\";\n            CheckEnableFilters.Size = new Size(95, 19);\n            CheckEnableFilters.TabIndex = 119;\n            CheckEnableFilters.Text = \"Enable Filters\";\n            toolTip.SetToolTip(CheckEnableFilters, \"Enable Filters enables or disables all filters\\r\\nentirely.\\r\\n\\r\\nEnabled - Advance Date will continue until\\r\\na match occurs from a filter.\\r\\n\\r\\nDisabled - Advance Date will only advance\\r\\none (1) day.\");\n            CheckEnableFilters.UseVisualStyleBackColor = true;\n            CheckEnableFilters.Click += EnableFilters_Click;\n            // \n            // ButtonDisconnect\n            // \n            ButtonDisconnect.Enabled = false;\n            ButtonDisconnect.Location = new Point(117, 35);\n            ButtonDisconnect.Margin = new Padding(4, 3, 4, 3);\n            ButtonDisconnect.Name = \"ButtonDisconnect\";\n            ButtonDisconnect.Size = new Size(97, 27);\n            ButtonDisconnect.TabIndex = 11;\n            ButtonDisconnect.Text = \"Disconnect\";\n            ButtonDisconnect.UseVisualStyleBackColor = true;\n            ButtonDisconnect.Click += Disconnect_Click;\n            // \n            // ButtonConnect\n            // \n            ButtonConnect.Location = new Point(13, 35);\n            ButtonConnect.Margin = new Padding(4, 3, 4, 3);\n            ButtonConnect.Name = \"ButtonConnect\";\n            ButtonConnect.Size = new Size(97, 27);\n            ButtonConnect.TabIndex = 10;\n            ButtonConnect.Text = \"Connect\";\n            ButtonConnect.UseVisualStyleBackColor = true;\n            ButtonConnect.Click += ButtonConnect_Click;\n            // \n            // InputSwitchIP\n            // \n            InputSwitchIP.Location = new Point(84, 6);\n            InputSwitchIP.Margin = new Padding(4, 3, 4, 3);\n            InputSwitchIP.Name = \"InputSwitchIP\";\n            InputSwitchIP.Size = new Size(129, 23);\n            InputSwitchIP.TabIndex = 8;\n            InputSwitchIP.Text = \"www.www.www.www\";\n            InputSwitchIP.TextChanged += InputSwitchIP_Changed;\n            // \n            // LabelSwitchIP\n            // \n            LabelSwitchIP.AutoSize = true;\n            LabelSwitchIP.Location = new Point(13, 9);\n            LabelSwitchIP.Margin = new Padding(4, 0, 4, 0);\n            LabelSwitchIP.Name = \"LabelSwitchIP\";\n            LabelSwitchIP.Size = new Size(58, 15);\n            LabelSwitchIP.TabIndex = 6;\n            LabelSwitchIP.Text = \"Switch IP:\";\n            // \n            // LabelLoadedRaids\n            // \n            LabelLoadedRaids.AutoSize = true;\n            LabelLoadedRaids.Font = new Font(\"Segoe UI\", 9F, FontStyle.Bold);\n            LabelLoadedRaids.Location = new Point(12, 103);\n            LabelLoadedRaids.Name = \"LabelLoadedRaids\";\n            LabelLoadedRaids.Size = new Size(67, 15);\n            LabelLoadedRaids.TabIndex = 12;\n            LabelLoadedRaids.Text = \"Matches: 0\";\n            // \n            // TeraType\n            // \n            TeraType.Font = new Font(\"Consolas\", 9F);\n            TeraType.Location = new Point(296, 152);\n            TeraType.Margin = new Padding(4, 3, 4, 3);\n            TeraType.Name = \"TeraType\";\n            TeraType.ReadOnly = true;\n            TeraType.Size = new Size(95, 22);\n            TeraType.TabIndex = 49;\n            // \n            // LabelTeraType\n            // \n            LabelTeraType.AutoSize = true;\n            LabelTeraType.Location = new Point(232, 156);\n            LabelTeraType.Name = \"LabelTeraType\";\n            LabelTeraType.Size = new Size(58, 15);\n            LabelTeraType.TabIndex = 48;\n            LabelTeraType.Text = \"Tera Type:\";\n            LabelTeraType.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // PID\n            // \n            PID.Font = new Font(\"Consolas\", 9F);\n            PID.Location = new Point(296, 68);\n            PID.Margin = new Padding(4, 3, 4, 3);\n            PID.Name = \"PID\";\n            PID.ReadOnly = true;\n            PID.Size = new Size(95, 22);\n            PID.TabIndex = 47;\n            // \n            // LabelPID\n            // \n            LabelPID.AutoSize = true;\n            LabelPID.Location = new Point(261, 70);\n            LabelPID.Name = \"LabelPID\";\n            LabelPID.Size = new Size(28, 15);\n            LabelPID.TabIndex = 46;\n            LabelPID.Text = \"PID:\";\n            LabelPID.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // EC\n            // \n            EC.Font = new Font(\"Consolas\", 9F);\n            EC.Location = new Point(296, 40);\n            EC.Margin = new Padding(4, 3, 4, 3);\n            EC.Name = \"EC\";\n            EC.ReadOnly = true;\n            EC.Size = new Size(95, 22);\n            EC.TabIndex = 45;\n            // \n            // LabelEC\n            // \n            LabelEC.AutoSize = true;\n            LabelEC.Location = new Point(265, 42);\n            LabelEC.Name = \"LabelEC\";\n            LabelEC.Size = new Size(24, 15);\n            LabelEC.TabIndex = 44;\n            LabelEC.Text = \"EC:\";\n            LabelEC.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // Seed\n            // \n            Seed.Font = new Font(\"Consolas\", 9F);\n            Seed.Location = new Point(296, 12);\n            Seed.Margin = new Padding(4, 3, 4, 3);\n            Seed.Name = \"Seed\";\n            Seed.ReadOnly = true;\n            Seed.Size = new Size(95, 22);\n            Seed.TabIndex = 43;\n            Seed.Click += Seed_Click;\n            // \n            // LabelSeed\n            // \n            LabelSeed.AutoSize = true;\n            LabelSeed.Location = new Point(254, 14);\n            LabelSeed.Name = \"LabelSeed\";\n            LabelSeed.Size = new Size(35, 15);\n            LabelSeed.TabIndex = 42;\n            LabelSeed.Text = \"Seed:\";\n            LabelSeed.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // ButtonNext\n            // \n            ButtonNext.Enabled = false;\n            ButtonNext.Location = new Point(168, 67);\n            ButtonNext.Name = \"ButtonNext\";\n            ButtonNext.Size = new Size(45, 25);\n            ButtonNext.TabIndex = 56;\n            ButtonNext.Text = \">>\";\n            ButtonNext.UseVisualStyleBackColor = true;\n            ButtonNext.Click += ButtonNext_Click;\n            // \n            // ButtonPrevious\n            // \n            ButtonPrevious.Enabled = false;\n            ButtonPrevious.Location = new Point(13, 68);\n            ButtonPrevious.Name = \"ButtonPrevious\";\n            ButtonPrevious.Size = new Size(45, 25);\n            ButtonPrevious.TabIndex = 55;\n            ButtonPrevious.Text = \"<<\";\n            ButtonPrevious.UseVisualStyleBackColor = true;\n            ButtonPrevious.Click += ButtonPrevious_Click;\n            // \n            // Area\n            // \n            Area.Font = new Font(\"Consolas\", 9F);\n            Area.Location = new Point(296, 236);\n            Area.Margin = new Padding(4, 3, 4, 3);\n            Area.Name = \"Area\";\n            Area.ReadOnly = true;\n            Area.Size = new Size(271, 22);\n            Area.TabIndex = 61;\n            Area.Click += DisplayMap;\n            // \n            // LabelUNK_2\n            // \n            LabelUNK_2.AutoSize = true;\n            LabelUNK_2.Location = new Point(256, 240);\n            LabelUNK_2.Name = \"LabelUNK_2\";\n            LabelUNK_2.Size = new Size(34, 15);\n            LabelUNK_2.TabIndex = 60;\n            LabelUNK_2.Text = \"Area:\";\n            LabelUNK_2.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // IVs\n            // \n            IVs.Font = new Font(\"Consolas\", 9F);\n            IVs.Location = new Point(296, 208);\n            IVs.Margin = new Padding(4, 3, 4, 3);\n            IVs.Name = \"IVs\";\n            IVs.ReadOnly = true;\n            IVs.Size = new Size(271, 22);\n            IVs.TabIndex = 69;\n            // \n            // LabelIVs\n            // \n            LabelIVs.AutoSize = true;\n            LabelIVs.Location = new Point(265, 212);\n            LabelIVs.Name = \"LabelIVs\";\n            LabelIVs.Size = new Size(25, 15);\n            LabelIVs.TabIndex = 68;\n            LabelIVs.Text = \"IVs:\";\n            LabelIVs.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // ButtonReadRaids\n            // \n            ButtonReadRaids.Enabled = false;\n            ButtonReadRaids.Location = new Point(6, 22);\n            ButtonReadRaids.Margin = new Padding(4, 3, 4, 3);\n            ButtonReadRaids.Name = \"ButtonReadRaids\";\n            ButtonReadRaids.Size = new Size(90, 25);\n            ButtonReadRaids.TabIndex = 80;\n            ButtonReadRaids.Text = \"Read Raids\";\n            ButtonReadRaids.UseVisualStyleBackColor = true;\n            ButtonReadRaids.Click += ButtonReadRaids_Click;\n            // \n            // labelEvent\n            // \n            labelEvent.AutoSize = true;\n            labelEvent.Font = new Font(\"Segoe UI\", 9F, FontStyle.Bold | FontStyle.Italic);\n            labelEvent.ForeColor = SystemColors.ControlText;\n            labelEvent.Location = new Point(496, 64);\n            labelEvent.Name = \"labelEvent\";\n            labelEvent.Size = new Size(73, 15);\n            labelEvent.TabIndex = 84;\n            labelEvent.Text = \"~~Event~~\";\n            labelEvent.TextAlign = ContentAlignment.MiddleLeft;\n            labelEvent.Visible = false;\n            // \n            // Difficulty\n            // \n            Difficulty.Font = new Font(\"Consolas\", 9F);\n            Difficulty.Location = new Point(470, 152);\n            Difficulty.Margin = new Padding(4, 3, 4, 3);\n            Difficulty.Name = \"Difficulty\";\n            Difficulty.ReadOnly = true;\n            Difficulty.Size = new Size(97, 22);\n            Difficulty.TabIndex = 86;\n            // \n            // LabelDifficulty\n            // \n            LabelDifficulty.AutoSize = true;\n            LabelDifficulty.Location = new Point(405, 156);\n            LabelDifficulty.Name = \"LabelDifficulty\";\n            LabelDifficulty.Size = new Size(58, 15);\n            LabelDifficulty.TabIndex = 85;\n            LabelDifficulty.Text = \"Difficulty:\";\n            LabelDifficulty.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // ButtonViewRAM\n            // \n            ButtonViewRAM.Enabled = false;\n            ButtonViewRAM.Location = new Point(104, 22);\n            ButtonViewRAM.Name = \"ButtonViewRAM\";\n            ButtonViewRAM.Size = new Size(90, 25);\n            ButtonViewRAM.TabIndex = 89;\n            ButtonViewRAM.Text = \"Dump Raid\";\n            ButtonViewRAM.UseVisualStyleBackColor = true;\n            ButtonViewRAM.Click += ViewRAM_Click;\n            // \n            // Species\n            // \n            Species.Font = new Font(\"Consolas\", 9F);\n            Species.Location = new Point(296, 96);\n            Species.Margin = new Padding(4, 3, 4, 3);\n            Species.Name = \"Species\";\n            Species.ReadOnly = true;\n            Species.Size = new Size(271, 22);\n            Species.TabIndex = 93;\n            // \n            // LabelSpecies\n            // \n            LabelSpecies.AutoSize = true;\n            LabelSpecies.Location = new Point(241, 100);\n            LabelSpecies.Name = \"LabelSpecies\";\n            LabelSpecies.Size = new Size(49, 15);\n            LabelSpecies.TabIndex = 92;\n            LabelSpecies.Text = \"Species:\";\n            LabelSpecies.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // LabelMoves\n            // \n            LabelMoves.AutoSize = true;\n            LabelMoves.Location = new Point(244, 280);\n            LabelMoves.Name = \"LabelMoves\";\n            LabelMoves.Size = new Size(45, 15);\n            LabelMoves.TabIndex = 94;\n            LabelMoves.Text = \"Moves:\";\n            LabelMoves.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // Move1\n            // \n            Move1.Font = new Font(\"Consolas\", 9F);\n            Move1.Location = new Point(296, 264);\n            Move1.Margin = new Padding(4, 3, 4, 3);\n            Move1.Name = \"Move1\";\n            Move1.ReadOnly = true;\n            Move1.Size = new Size(133, 22);\n            Move1.TabIndex = 95;\n            Move1.Click += Move_Clicked;\n            // \n            // Move2\n            // \n            Move2.Font = new Font(\"Consolas\", 9F);\n            Move2.Location = new Point(434, 264);\n            Move2.Margin = new Padding(4, 3, 4, 3);\n            Move2.Name = \"Move2\";\n            Move2.ReadOnly = true;\n            Move2.Size = new Size(133, 22);\n            Move2.TabIndex = 96;\n            Move2.Click += Move_Clicked;\n            // \n            // Move4\n            // \n            Move4.Font = new Font(\"Consolas\", 9F);\n            Move4.Location = new Point(434, 292);\n            Move4.Margin = new Padding(4, 3, 4, 3);\n            Move4.Name = \"Move4\";\n            Move4.ReadOnly = true;\n            Move4.Size = new Size(133, 22);\n            Move4.TabIndex = 98;\n            Move4.Click += Move_Clicked;\n            // \n            // Move3\n            // \n            Move3.Font = new Font(\"Consolas\", 9F);\n            Move3.Location = new Point(296, 292);\n            Move3.Margin = new Padding(4, 3, 4, 3);\n            Move3.Name = \"Move3\";\n            Move3.ReadOnly = true;\n            Move3.Size = new Size(133, 22);\n            Move3.TabIndex = 97;\n            Move3.Click += Move_Clicked;\n            // \n            // Nature\n            // \n            Nature.Font = new Font(\"Consolas\", 9F);\n            Nature.Location = new Point(470, 180);\n            Nature.Margin = new Padding(4, 3, 4, 3);\n            Nature.Name = \"Nature\";\n            Nature.ReadOnly = true;\n            Nature.Size = new Size(97, 22);\n            Nature.TabIndex = 106;\n            // \n            // LabelNature\n            // \n            LabelNature.AutoSize = true;\n            LabelNature.Location = new Point(417, 184);\n            LabelNature.Name = \"LabelNature\";\n            LabelNature.Size = new Size(46, 15);\n            LabelNature.TabIndex = 105;\n            LabelNature.Text = \"Nature:\";\n            LabelNature.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // Gender\n            // \n            Gender.Font = new Font(\"Consolas\", 9F);\n            Gender.Location = new Point(296, 180);\n            Gender.Margin = new Padding(4, 3, 4, 3);\n            Gender.Name = \"Gender\";\n            Gender.ReadOnly = true;\n            Gender.Size = new Size(95, 22);\n            Gender.TabIndex = 104;\n            // \n            // LabelGender\n            // \n            LabelGender.AutoSize = true;\n            LabelGender.Location = new Point(241, 184);\n            LabelGender.Name = \"LabelGender\";\n            LabelGender.Size = new Size(48, 15);\n            LabelGender.TabIndex = 103;\n            LabelGender.Text = \"Gender:\";\n            LabelGender.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // StopFilter\n            // \n            StopFilter.Location = new Point(12, 273);\n            StopFilter.Name = \"StopFilter\";\n            StopFilter.Size = new Size(97, 23);\n            StopFilter.TabIndex = 107;\n            StopFilter.Text = \"Edit Filters\";\n            StopFilter.UseVisualStyleBackColor = true;\n            StopFilter.Click += StopFilter_Click;\n            // \n            // Sprite\n            // \n            Sprite.Location = new Point(498, 7);\n            Sprite.Name = \"Sprite\";\n            Sprite.Size = new Size(68, 56);\n            Sprite.SizeMode = PictureBoxSizeMode.CenterImage;\n            Sprite.TabIndex = 108;\n            Sprite.TabStop = false;\n            // \n            // Ability\n            // \n            Ability.Font = new Font(\"Consolas\", 9F);\n            Ability.Location = new Point(296, 124);\n            Ability.Margin = new Padding(4, 3, 4, 3);\n            Ability.Name = \"Ability\";\n            Ability.ReadOnly = true;\n            Ability.Size = new Size(271, 22);\n            Ability.TabIndex = 110;\n            // \n            // LabelAbility\n            // \n            LabelAbility.AutoSize = true;\n            LabelAbility.Location = new Point(245, 127);\n            LabelAbility.Name = \"LabelAbility\";\n            LabelAbility.Size = new Size(44, 15);\n            LabelAbility.TabIndex = 109;\n            LabelAbility.Text = \"Ability:\";\n            LabelAbility.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // GemIcon\n            // \n            GemIcon.Location = new Point(434, 7);\n            GemIcon.Name = \"GemIcon\";\n            GemIcon.Size = new Size(56, 56);\n            GemIcon.SizeMode = PictureBoxSizeMode.Zoom;\n            GemIcon.TabIndex = 111;\n            GemIcon.TabStop = false;\n            // \n            // ButtonDownloadEvents\n            // \n            ButtonDownloadEvents.Enabled = false;\n            ButtonDownloadEvents.Location = new Point(104, 50);\n            ButtonDownloadEvents.Name = \"ButtonDownloadEvents\";\n            ButtonDownloadEvents.Size = new Size(90, 25);\n            ButtonDownloadEvents.TabIndex = 112;\n            ButtonDownloadEvents.Text = \"Pull Events\";\n            ButtonDownloadEvents.UseVisualStyleBackColor = true;\n            ButtonDownloadEvents.Click += DownloadEvents_Click;\n            // \n            // ConfigSettings\n            // \n            ConfigSettings.Location = new Point(12, 302);\n            ConfigSettings.Name = \"ConfigSettings\";\n            ConfigSettings.Size = new Size(97, 23);\n            ConfigSettings.TabIndex = 115;\n            ConfigSettings.Text = \"Open Settings\";\n            ConfigSettings.UseVisualStyleBackColor = true;\n            ConfigSettings.Click += ConfigSettings_Click;\n            // \n            // Rewards\n            // \n            Rewards.Location = new Point(104, 78);\n            Rewards.Name = \"Rewards\";\n            Rewards.Size = new Size(90, 25);\n            Rewards.TabIndex = 116;\n            Rewards.Text = \"Rewards\";\n            Rewards.UseVisualStyleBackColor = true;\n            Rewards.Click += Rewards_Click;\n            // \n            // LabelSandwichBonus\n            // \n            LabelSandwichBonus.AutoSize = true;\n            LabelSandwichBonus.Location = new Point(13, 248);\n            LabelSandwichBonus.Name = \"LabelSandwichBonus\";\n            LabelSandwichBonus.Size = new Size(120, 15);\n            LabelSandwichBonus.TabIndex = 118;\n            LabelSandwichBonus.Text = \"Raid Sandwich Boost:\";\n            // \n            // RaidBoost\n            // \n            RaidBoost.FormattingEnabled = true;\n            RaidBoost.Items.AddRange(new object[] { \"0\", \"1\", \"2\", \"3\" });\n            RaidBoost.Location = new Point(165, 245);\n            RaidBoost.Name = \"RaidBoost\";\n            RaidBoost.Size = new Size(48, 23);\n            RaidBoost.TabIndex = 117;\n            RaidBoost.Text = \"w\";\n            RaidBoost.SelectedIndexChanged += RaidBoost_SelectedIndexChanged;\n            // \n            // ComboIndex\n            // \n            ComboIndex.BackColor = SystemColors.Window;\n            ComboIndex.DropDownStyle = ComboBoxStyle.DropDownList;\n            ComboIndex.Enabled = false;\n            ComboIndex.FormattingEnabled = true;\n            ComboIndex.Location = new Point(64, 68);\n            ComboIndex.Name = \"ComboIndex\";\n            ComboIndex.Size = new Size(98, 23);\n            ComboIndex.TabIndex = 120;\n            ComboIndex.SelectedIndexChanged += ComboIndex_SelectedIndexChanged;\n            // \n            // SendScreenshot\n            // \n            SendScreenshot.Location = new Point(6, 50);\n            SendScreenshot.Name = \"SendScreenshot\";\n            SendScreenshot.Size = new Size(90, 25);\n            SendScreenshot.TabIndex = 121;\n            SendScreenshot.Text = \"Screenshot\";\n            SendScreenshot.UseVisualStyleBackColor = true;\n            SendScreenshot.Click += SendScreenshot_Click;\n            // \n            // SearchTimer\n            // \n            SearchTimer.Enabled = true;\n            SearchTimer.Interval = 1D;\n            SearchTimer.SynchronizingObject = this;\n            SearchTimer.Elapsed += SearchTimer_Elapsed;\n            // \n            // btnOpenMap\n            // \n            btnOpenMap.Location = new Point(6, 78);\n            btnOpenMap.Name = \"btnOpenMap\";\n            btnOpenMap.Size = new Size(90, 25);\n            btnOpenMap.TabIndex = 124;\n            btnOpenMap.Text = \"Open Map\";\n            btnOpenMap.UseVisualStyleBackColor = true;\n            btnOpenMap.Click += DisplayMap;\n            // \n            // groupBox1\n            // \n            groupBox1.Controls.Add(ButtonViewRAM);\n            groupBox1.Controls.Add(ButtonDownloadEvents);\n            groupBox1.Controls.Add(btnOpenMap);\n            groupBox1.Controls.Add(SendScreenshot);\n            groupBox1.Controls.Add(Rewards);\n            groupBox1.Controls.Add(ButtonReadRaids);\n            groupBox1.Location = new Point(13, 129);\n            groupBox1.Name = \"groupBox1\";\n            groupBox1.Size = new Size(200, 110);\n            groupBox1.TabIndex = 125;\n            groupBox1.TabStop = false;\n            groupBox1.Text = \"Raid Controls\";\n            // \n            // statusStrip1\n            // \n            statusStrip1.Items.AddRange(new ToolStripItem[] { StatusLabel, ToolStripStatusLabel, Label_DayAdvance });\n            statusStrip1.Location = new Point(0, 335);\n            statusStrip1.Name = \"statusStrip1\";\n            statusStrip1.Size = new Size(580, 22);\n            statusStrip1.SizingGrip = false;\n            statusStrip1.TabIndex = 126;\n            statusStrip1.Text = \"statusStrip1\";\n            // \n            // StatusLabel\n            // \n            StatusLabel.Name = \"StatusLabel\";\n            StatusLabel.Size = new Size(42, 17);\n            StatusLabel.Text = \"Status:\";\n            // \n            // ToolStripStatusLabel\n            // \n            ToolStripStatusLabel.Name = \"ToolStripStatusLabel\";\n            ToolStripStatusLabel.Size = new Size(89, 17);\n            ToolStripStatusLabel.Text = \"Not connected.\";\n            // \n            // Label_DayAdvance\n            // \n            Label_DayAdvance.Name = \"Label_DayAdvance\";\n            Label_DayAdvance.Size = new Size(136, 17);\n            Label_DayAdvance.Text = \"Day Skip Successes: 0 / 0\";\n            Label_DayAdvance.Visible = false;\n            // \n            // USB_Port_label\n            // \n            USB_Port_label.AutoSize = true;\n            USB_Port_label.Location = new Point(13, 9);\n            USB_Port_label.Name = \"USB_Port_label\";\n            USB_Port_label.Size = new Size(56, 15);\n            USB_Port_label.TabIndex = 127;\n            USB_Port_label.Text = \"USB Port:\";\n            // \n            // USB_Port_TB\n            // \n            USB_Port_TB.Location = new Point(84, 6);\n            USB_Port_TB.Name = \"USB_Port_TB\";\n            USB_Port_TB.Size = new Size(129, 23);\n            USB_Port_TB.TabIndex = 128;\n            USB_Port_TB.Text = \"w\";\n            USB_Port_TB.TextAlign = HorizontalAlignment.Center;\n            USB_Port_TB.TextChanged += USB_Port_Changed;\n            // \n            // StopAdvance_Button\n            // \n            StopAdvance_Button.Location = new Point(117, 98);\n            StopAdvance_Button.Name = \"StopAdvance_Button\";\n            StopAdvance_Button.Size = new Size(96, 27);\n            StopAdvance_Button.TabIndex = 129;\n            StopAdvance_Button.Text = \"Stop\";\n            StopAdvance_Button.UseVisualStyleBackColor = true;\n            StopAdvance_Button.Visible = false;\n            StopAdvance_Button.Click += StopAdvanceButton_Click;\n            // \n            // B_DateTools\n            // \n            B_DateTools.Enabled = false;\n            B_DateTools.Location = new Point(117, 302);\n            B_DateTools.Name = \"B_DateTools\";\n            B_DateTools.Size = new Size(97, 23);\n            B_DateTools.TabIndex = 130;\n            B_DateTools.Text = \"Date Tools\";\n            B_DateTools.UseVisualStyleBackColor = true;\n            B_DateTools.Click += B_DateTools_Click;\n            // \n            // MainWindow\n            // \n            AutoScaleDimensions = new SizeF(7F, 15F);\n            AutoScaleMode = AutoScaleMode.Font;\n            ClientSize = new Size(580, 357);\n            Controls.Add(B_DateTools);\n            Controls.Add(StopAdvance_Button);\n            Controls.Add(USB_Port_TB);\n            Controls.Add(USB_Port_label);\n            Controls.Add(statusStrip1);\n            Controls.Add(groupBox1);\n            Controls.Add(ComboIndex);\n            Controls.Add(CheckEnableFilters);\n            Controls.Add(LabelSandwichBonus);\n            Controls.Add(LabelLoadedRaids);\n            Controls.Add(RaidBoost);\n            Controls.Add(ConfigSettings);\n            Controls.Add(GemIcon);\n            Controls.Add(Ability);\n            Controls.Add(LabelAbility);\n            Controls.Add(Sprite);\n            Controls.Add(StopFilter);\n            Controls.Add(Nature);\n            Controls.Add(LabelNature);\n            Controls.Add(Gender);\n            Controls.Add(LabelGender);\n            Controls.Add(Move4);\n            Controls.Add(Move3);\n            Controls.Add(Move2);\n            Controls.Add(Move1);\n            Controls.Add(LabelMoves);\n            Controls.Add(Species);\n            Controls.Add(LabelSpecies);\n            Controls.Add(Difficulty);\n            Controls.Add(LabelDifficulty);\n            Controls.Add(labelEvent);\n            Controls.Add(ButtonAdvanceDate);\n            Controls.Add(IVs);\n            Controls.Add(LabelIVs);\n            Controls.Add(Area);\n            Controls.Add(LabelUNK_2);\n            Controls.Add(ButtonNext);\n            Controls.Add(ButtonPrevious);\n            Controls.Add(TeraType);\n            Controls.Add(LabelTeraType);\n            Controls.Add(PID);\n            Controls.Add(LabelPID);\n            Controls.Add(EC);\n            Controls.Add(LabelEC);\n            Controls.Add(Seed);\n            Controls.Add(LabelSeed);\n            Controls.Add(ButtonDisconnect);\n            Controls.Add(ButtonConnect);\n            Controls.Add(InputSwitchIP);\n            Controls.Add(LabelSwitchIP);\n            FormBorderStyle = FormBorderStyle.FixedDialog;\n            Icon = (Icon)resources.GetObject(\"$this.Icon\");\n            MaximizeBox = false;\n            Name = \"MainWindow\";\n            FormClosing += MainWindow_FormClosing;\n            Load += MainWindow_Load;\n            ((System.ComponentModel.ISupportInitialize)Sprite).EndInit();\n            ((System.ComponentModel.ISupportInitialize)GemIcon).EndInit();\n            ((System.ComponentModel.ISupportInitialize)SearchTimer).EndInit();\n            groupBox1.ResumeLayout(false);\n            statusStrip1.ResumeLayout(false);\n            statusStrip1.PerformLayout();\n            ResumeLayout(false);\n            PerformLayout();\n        }\n\n        #endregion\n\n        private ToolTip toolTip;\n        private Button ButtonDisconnect;\n        private Button ButtonConnect;\n        private TextBox InputSwitchIP;\n        private Label LabelSwitchIP;\n        private Label LabelLoadedRaids;\n        private TextBox TeraType;\n        private Label LabelTeraType;\n        private TextBox PID;\n        private Label LabelPID;\n        private TextBox EC;\n        private Label LabelEC;\n        private TextBox Seed;\n        private Label LabelSeed;\n        private Button ButtonNext;\n        private Button ButtonPrevious;\n        private TextBox Area;\n        private Label LabelUNK_2;\n        private TextBox IVs;\n        private Label LabelIVs;\n        private Button ButtonReadRaids;\n        private Button ButtonAdvanceDate;\n        private Label labelEvent;\n        private TextBox Difficulty;\n        private Label LabelDifficulty;\n        private Button ButtonViewRAM;\n        private TextBox Species;\n        private Label LabelSpecies;\n        private Label LabelMoves;\n        private TextBox Move1;\n        private TextBox Move2;\n        private TextBox Move4;\n        private TextBox Move3;\n        private TextBox Nature;\n        private Label LabelNature;\n        private TextBox Gender;\n        private Label LabelGender;\n        private Button StopFilter;\n        private PictureBox Sprite;\n        private TextBox Ability;\n        private Label LabelAbility;\n        private PictureBox GemIcon;\n        private Button ButtonDownloadEvents;\n        private Button ConfigSettings;\n        private Button Rewards;\n        private Label LabelSandwichBonus;\n        private ComboBox RaidBoost;\n        private CheckBox CheckEnableFilters;\n        private ComboBox ComboIndex;\n        private Button SendScreenshot;\n        private System.Timers.Timer SearchTimer;\n        private Button btnOpenMap;\n        private GroupBox groupBox1;\n        private StatusStrip statusStrip1;\n        private ToolStripStatusLabel StatusLabel;\n        private ToolStripStatusLabel ToolStripStatusLabel;\n        private Label USB_Port_label;\n        private TextBox USB_Port_TB;\n        private Button StopAdvance_Button;\n        private ToolStripStatusLabel Label_DayAdvance;\n        private Button B_DateTools;\n    }\n}"
  },
  {
    "path": "RaidCrawler.WinForms/MainWindow.cs",
    "content": "using PKHeX.Core;\nusing PKHeX.Drawing;\nusing PKHeX.Drawing.PokeSprite;\nusing RaidCrawler.Core.Connection;\nusing RaidCrawler.Core.Discord;\nusing RaidCrawler.Core.Structures;\nusing RaidCrawler.WinForms.SubForms;\nusing SysBot.Base;\nusing System.Diagnostics;\nusing System.Text.Json;\nusing static RaidCrawler.Core.Structures.Offsets;\n\nnamespace RaidCrawler.WinForms;\n\npublic partial class MainWindow : Form\n{\n    private static CancellationTokenSource Source = new();\n    private static CancellationTokenSource DateAdvanceSource = new();\n\n    private static readonly object _connectLock = new();\n    private static readonly object _readLock = new();\n\n    private readonly ClientConfig Config;\n    private ConnectionWrapperAsync ConnectionWrapper = default!;\n\n    private readonly SwitchConnectionConfig ConnectionConfig;\n\n    private readonly RaidContainer RaidContainer;\n    private readonly NotificationHandler Webhook;\n\n    private List<RaidFilter> RaidFilters = [];\n    private static readonly Image MapBase = Image.FromStream(\n        new MemoryStream(Utils.GetBinaryResource(\"paldea.png\"))\n    );\n    private static readonly Image MapKitakami = Image.FromStream(\n        new MemoryStream(Utils.GetBinaryResource(\"kitakami.png\"))\n    );\n    private static readonly Image MapBlueberry = Image.FromStream(\n        new MemoryStream(Utils.GetBinaryResource(\"blueberry.png\"))\n    );\n    private static Dictionary<string, float[]>? DenLocationsBase;\n    private static Dictionary<string, float[]>? DenLocationsKitakami;\n    private static Dictionary<string, float[]>? DenLocationsBlueberry;\n\n    // statistics\n    public int StatDaySkipTries;\n    public int StatDaySkipSuccess;\n    public readonly string formTitle;\n\n    private ulong RaidBlockOffsetBase;\n    private ulong RaidBlockOffsetKitakami;\n    private ulong RaidBlockOffsetBlueberry;\n    private bool IsReading;\n    private bool HideSeed;\n    private bool ShowExtraMoves;\n\n    private Color DefaultColor;\n    private FormWindowState _WindowState;\n    private readonly Stopwatch stopwatch = new();\n    private TeraRaidView? teraRaidView;\n\n    private bool StopAdvances =>\n        !Config.EnableFilters || RaidFilters.Count == 0 || RaidFilters.All(x => !x.Enabled);\n\n    private readonly Version CurrentVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version!;\n\n    public MainWindow()\n    {\n        Config = new ClientConfig();\n#if DEBUG\n        var date = File.GetLastWriteTime(AppContext.BaseDirectory);\n        var build = $\" (dev-{date:yyyyMMdd})\";\n#else\n        var build = \"\";\n#endif\n        var v = CurrentVersion;\n        var filterPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, \"filters.json\");\n        if (File.Exists(filterPath))\n            RaidFilters = JsonSerializer.Deserialize<List<RaidFilter>>(File.ReadAllText(filterPath)) ?? [];\n        DenLocationsBase = JsonSerializer.Deserialize<Dictionary<string, float[]>>(Utils.GetStringResource(\"den_locations_base.json\") ?? \"{}\");\n        DenLocationsKitakami = JsonSerializer.Deserialize<Dictionary<string, float[]>>(Utils.GetStringResource(\"den_locations_kitakami.json\") ?? \"{}\");\n        DenLocationsBlueberry = JsonSerializer.Deserialize<Dictionary<string, float[]>>(Utils.GetStringResource(\"den_locations_blueberry.json\") ?? \"{}\");\n\n        var configPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, \"config.json\");\n        if (File.Exists(configPath))\n        {\n            var text = File.ReadAllText(configPath);\n            Config = JsonSerializer.Deserialize<ClientConfig>(text)!;\n        }\n        else\n        {\n            Config = new();\n        }\n\n        ConnectionConfig = new SwitchConnectionConfig\n        {\n            Protocol = SwitchProtocol.WiFi,\n            IP = \"192.168.0.0\",\n            Port = 6000,\n        };\n        formTitle = $\"RaidCrawler v{v.Major}.{v.Minor}.{v.Build}{build} {Config.InstanceName}\";\n        Text = formTitle;\n\n        // load raids\n        RaidContainer = new(Config.Game);\n\n        SpriteBuilder.ShowTeraThicknessStripe = 0x4;\n        SpriteBuilder.ShowTeraOpacityStripe = 0xAF;\n        SpriteBuilder.ShowTeraOpacityBackground = 0xFF;\n        SpriteUtil.ChangeMode(SpriteBuilderMode.SpritesArtwork5668);\n\n        var protocol = Config.Protocol;\n        ConnectionConfig = new()\n        {\n            IP = Config.IP,\n            Port = protocol is SwitchProtocol.WiFi ? 6000 : Config.UsbPort,\n            Protocol = Config.Protocol,\n        };\n\n        Webhook = new(Config);\n        InitializeComponent();\n\n        btnOpenMap.Enabled = false;\n        Rewards.Enabled = false;\n        SendScreenshot.Enabled = false;\n        CheckEnableFilters.Checked = Config.EnableFilters;\n\n        if (Config.Protocol is SwitchProtocol.USB)\n        {\n            InputSwitchIP.Visible = false;\n            LabelSwitchIP.Visible = false;\n            USB_Port_TB.Visible = true;\n            USB_Port_label.Visible = true;\n        }\n        else\n        {\n            InputSwitchIP.Visible = true;\n            LabelSwitchIP.Visible = true;\n            USB_Port_TB.Visible = false;\n            USB_Port_label.Visible = false;\n        }\n    }\n\n    private void UpdateStatus(string status)\n    {\n        ToolStripStatusLabel.Text = status;\n    }\n\n    private void ButtonEnable(bool enable, params object[] obj)\n    {\n        lock (_readLock)\n        {\n            foreach (object o in obj)\n            {\n                if (o is not Button btn)\n                    continue;\n\n                if (InvokeRequired)\n                    Invoke(() => btn.Enabled = enable);\n                else\n                    btn.Enabled = enable;\n            }\n\n            IsReading = !enable;\n        }\n    }\n\n    private void ShowDialog(object obj)\n    {\n        var window = (Form?)obj;\n        if (window is null)\n            return;\n\n        window.StartPosition = FormStartPosition.CenterParent;\n        if (InvokeRequired)\n            Invoke(() => window.ShowDialog());\n        else\n            window.ShowDialog();\n    }\n\n    private int GetRaidBoost()\n    {\n        if (InvokeRequired)\n            return Invoke(() => RaidBoost.SelectedIndex);\n        return RaidBoost.SelectedIndex;\n    }\n\n    public int GetStatDaySkipTries() => StatDaySkipTries;\n\n    public int GetStatDaySkipSuccess() => StatDaySkipSuccess;\n\n    private void MainWindow_Load(object sender, EventArgs e)\n    {\n        CenterToScreen();\n        InputSwitchIP.Text = Config.IP;\n        USB_Port_TB.Text = Config.UsbPort.ToString();\n        DefaultColor = IVs.BackColor;\n        RaidBoost.SelectedIndex = 0;\n        ToggleStreamerView();\n        CheckForUpdates();\n    }\n\n    private void InputSwitchIP_Changed(object sender, EventArgs e)\n    {\n        TextBox textBox = (TextBox)sender;\n        Config.IP = textBox.Text;\n        ConnectionConfig.IP = textBox.Text;\n    }\n\n    private void USB_Port_Changed(object sender, EventArgs e)\n    {\n        if (Config.Protocol is SwitchProtocol.WiFi)\n            return;\n\n        TextBox textBox = (TextBox)sender;\n        if (int.TryParse(textBox.Text, out int port) && port >= 0)\n        {\n            Config.UsbPort = port;\n            ConnectionConfig.Port = port;\n            return;\n        }\n\n        Task.Run(async () => await this.DisplayMessageBox(Webhook, \"Please enter a valid numerical USB port.\", Source.Token).ConfigureAwait(false), Source.Token);\n    }\n\n    private void ButtonConnect_Click(object sender, EventArgs e)\n    {\n        lock (_connectLock)\n        {\n            if (ConnectionWrapper is { Connected: true })\n                return;\n\n            ConnectionWrapper = new(ConnectionConfig, UpdateStatus);\n            Connect(Source.Token);\n        }\n    }\n\n    private void Connect(CancellationToken token)\n    {\n        Task.Run(\n            async () =>\n            {\n                ButtonEnable(false, ButtonConnect, SendScreenshot, btnOpenMap, Rewards);\n                try\n                {\n                    (bool success, string err) = await ConnectionWrapper\n                        .Connect(token)\n                        .ConfigureAwait(false);\n                    if (!success)\n                    {\n                        ButtonEnable(true, ButtonConnect);\n                        await this\n                            .DisplayMessageBox(Webhook, err, token)\n                            .ConfigureAwait(false);\n                        return;\n                    }\n                }\n                catch (Exception ex)\n                {\n                    ButtonEnable(true, ButtonConnect);\n                    await this\n                        .DisplayMessageBox(Webhook, ex.Message, token)\n                        .ConfigureAwait(false);\n                    return;\n                }\n\n                UpdateStatus(\"Detecting game version...\");\n                string id = await ConnectionWrapper.Connection\n                    .GetTitleID(token)\n                    .ConfigureAwait(false);\n                var game = id switch\n                {\n                    ScarletID => \"Scarlet\",\n                    VioletID => \"Violet\",\n                    _ => \"\",\n                };\n\n                if (game is \"\")\n                {\n                    try\n                    {\n                        (bool success, string err) = await ConnectionWrapper\n                            .DisconnectAsync(token)\n                            .ConfigureAwait(false);\n                        if (!success)\n                        {\n                            ButtonEnable(true, ButtonConnect);\n                            await this\n                                .DisplayMessageBox(Webhook, err, token)\n                                .ConfigureAwait(false);\n                            return;\n                        }\n                    }\n                    catch\n                    {\n                        // ignored\n                    }\n                    finally\n                    {\n                        ButtonEnable(true, ButtonConnect);\n                        await this\n                            .DisplayMessageBox(Webhook,\n                                \"Unable to detect Pokémon Scarlet or Pokémon Violet running on your Switch!\",\n                                token\n                            )\n                            .ConfigureAwait(false);\n                    }\n                    return;\n                }\n\n                Config.Game = game;\n                RaidContainer.SetGame(Config.Game);\n\n                UpdateStatus(\"Reading story progress...\");\n                Config.Progress = await ConnectionWrapper\n                    .GetStoryProgress(token)\n                    .ConfigureAwait(false);\n                Config.EventProgress = Math.Min(Config.Progress, 3);\n\n                UpdateStatus(\"Reading event raid status...\");\n                try\n                {\n                    await ReadEventRaids(token).ConfigureAwait(false);\n                }\n                catch (Exception ex)\n                {\n                    ButtonEnable(true, ButtonConnect);\n                    await this.DisplayMessageBox(Webhook, $\"Error occurred while reading event raids: {ex.Message}\", token)\n                        .ConfigureAwait(false);\n                    return;\n                }\n\n                UpdateStatus(\"Reading raids...\");\n                try\n                {\n                    await ReadRaids(token).ConfigureAwait(false);\n                }\n                catch (Exception ex)\n                {\n                    ButtonEnable(true, ButtonConnect);\n                    await this.DisplayMessageBox(Webhook, $\"Error occurred while reading raids: {ex.Message}\", token)\n                        .ConfigureAwait(false);\n                    return;\n                }\n\n                ButtonEnable(true, ButtonAdvanceDate, ButtonReadRaids, ButtonDisconnect, ButtonViewRAM, ButtonDownloadEvents, SendScreenshot, btnOpenMap, Rewards, B_DateTools);\n                if (InvokeRequired)\n                {\n                    Invoke(() =>\n                    {\n                        ComboIndex.Enabled = true;\n                        ComboIndex.SelectedIndex = 0;\n                    });\n                }\n                else\n                {\n                    ComboIndex.SelectedIndex = 0;\n                }\n\n                UpdateStatus(\"Completed!\");\n            },\n            token\n        );\n    }\n\n    private void Disconnect_Click(object sender, EventArgs e)\n    {\n        lock (_connectLock)\n        {\n            if (ConnectionWrapper is not { Connected: true })\n                return;\n\n            Disconnect(Source.Token);\n        }\n    }\n\n    private void Disconnect(CancellationToken token)\n    {\n        Task.Run(\n            async () =>\n            {\n                ButtonEnable(false, ButtonAdvanceDate, ButtonReadRaids, ButtonDisconnect, ButtonViewRAM, ButtonDownloadEvents, SendScreenshot, B_DateTools);\n                try\n                {\n                    (bool success, string err) = await ConnectionWrapper\n                        .DisconnectAsync(token)\n                        .ConfigureAwait(false);\n                    if (!success)\n                        await this.DisplayMessageBox(Webhook, err, token).ConfigureAwait(false);\n                }\n                catch (Exception ex)\n                {\n                    await this\n                        .DisplayMessageBox(Webhook, ex.Message, token)\n                        .ConfigureAwait(false);\n                }\n\n                await Source.CancelAsync();\n                await DateAdvanceSource.CancelAsync();\n                Source = new();\n                DateAdvanceSource = new();\n                RaidBlockOffsetBase = 0;\n                ButtonEnable(true, ButtonConnect);\n            },\n            token\n        );\n    }\n\n    private void ButtonPrevious_Click(object sender, EventArgs e)\n    {\n        var count = RaidContainer.GetRaidCount();\n        if (count > 0)\n        {\n            var index = (ComboIndex.SelectedIndex + count - 1) % count; // Wrap around\n            if (ModifierKeys == Keys.Shift)\n            {\n                for (int i = 0; i < count; i++)\n                {\n                    var chk = (index + count - i) % count;\n                    if (\n                        StopAdvances\n                        || RaidFilters.Any(\n                            z =>\n                                z.FilterSatisfied(\n                                    RaidContainer,\n                                    RaidContainer.Encounters[chk],\n                                    RaidContainer.Raids[chk],\n                                    RaidBoost.SelectedIndex\n                                )\n                        )\n                    )\n                    {\n                        index = chk;\n                        break;\n                    }\n                }\n            }\n            ComboIndex.SelectedIndex = index;\n        }\n    }\n\n    private void ButtonNext_Click(object sender, EventArgs e)\n    {\n        var count = RaidContainer.GetRaidCount();\n        if (count > 0)\n        {\n            var index = (ComboIndex.SelectedIndex + count + 1) % count; // Wrap around\n            if (ModifierKeys == Keys.Shift)\n            {\n                for (int i = 0; i < count; i++)\n                {\n                    var chk = (index + count + i) % count;\n                    if (StopAdvances || RaidFilters.Any(z => z.FilterSatisfied(RaidContainer, RaidContainer.Encounters[chk], RaidContainer.Raids[chk], RaidBoost.SelectedIndex)))\n                    {\n                        index = chk;\n                        break;\n                    }\n                }\n            }\n            ComboIndex.SelectedIndex = index;\n        }\n    }\n\n    private void ButtonAdvanceDate_Click(object sender, EventArgs e)\n    {\n        if (ConnectionWrapper is not { Connected: true })\n            return;\n\n        ButtonAdvanceDate.Visible = false;\n        StopAdvance_Button.Visible = true;\n        Task.Run(async () => await AdvanceDateClick(DateAdvanceSource.Token).ConfigureAwait(false), Source.Token);\n    }\n\n    private async Task AdvanceDateClick(CancellationToken token)\n    {\n        try\n        {\n            ButtonEnable(false, ButtonViewRAM, ButtonAdvanceDate, ButtonDisconnect, ButtonDownloadEvents, SendScreenshot, ButtonReadRaids);\n            Invoke(() => Label_DayAdvance.Visible = true);\n            SearchTimer.Start();\n            stopwatch.Start();\n            _WindowState = WindowState;\n\n            var advanceTextInit =\n                $\"Day Skip Successes {GetStatDaySkipSuccess()} / {GetStatDaySkipTries()}\";\n            Invoke(() => Label_DayAdvance.Text = advanceTextInit);\n            if (teraRaidView is not null)\n                Invoke(() => teraRaidView.DaySkips.Text = advanceTextInit);\n\n            var stop = false;\n            var raids = RaidContainer.Raids;\n            int skips = 0;\n\n            while (!stop)\n            {\n                if (skips >= Config.SystemReset)\n                {\n                    // When raids are generated, the game determines raids for both the current and next day.\n                    // In order to avoid rescanning the same raids on a reset, save the game before reset.\n                    await ConnectionWrapper.SaveGame(Config, token).ConfigureAwait(false);\n                    await ConnectionWrapper.CloseGame(token).ConfigureAwait(false);\n                    await ConnectionWrapper.StartGame(Config, token).ConfigureAwait(false);\n\n                    RaidBlockOffsetBase = 0;\n                    RaidBlockOffsetKitakami = 0;\n                    RaidBlockOffsetBlueberry = 0;\n                    skips = 0;\n\n                    // Read the initial raids upon reopening the game to correctly detect if the next advance fails\n                    await ReadRaids(token).ConfigureAwait(false);\n                    raids = RaidContainer.Raids;\n                }\n\n                var previousSeeds = raids.Select(z => z.Seed).ToList();\n                UpdateStatus(\"Changing date...\");\n                bool streamer = Config.StreamerView && teraRaidView is not null;\n                Action<int>? action = streamer ? teraRaidView!.UpdateProgressBar : null;\n                await ConnectionWrapper\n                    .AdvanceDate(Config, skips, token, action)\n                    .ConfigureAwait(false);\n                await ReadRaids(token).ConfigureAwait(false);\n                raids = RaidContainer.Raids;\n\n                Invoke(DisplayRaid);\n                if (streamer)\n                    Invoke(DisplayPrettyRaid);\n\n                stop = StopAdvanceDate(previousSeeds);\n                skips++;\n                var advanceText =\n                    $\"Day Skip Successes {GetStatDaySkipSuccess()} / {GetStatDaySkipTries()}\";\n                Invoke(() => Label_DayAdvance.Text = advanceText);\n                if (teraRaidView is not null)\n                    Invoke(() => teraRaidView.DaySkips.Text = advanceText);\n            }\n\n            stopwatch.Stop();\n            SearchTimer.Stop();\n            var timeSpan = stopwatch.Elapsed;\n            var time = $\"{timeSpan.Days:00}:{timeSpan.Hours:00}:{timeSpan.Minutes:00}:{timeSpan.Seconds:00}\";\n\n            if (Config.PlaySound)\n                System.Media.SystemSounds.Asterisk.Play();\n\n            if (Config.FocusWindow)\n            {\n                Invoke(() =>\n                {\n                    WindowState = _WindowState;\n                    Activate();\n                });\n            }\n\n            if (Config.EnableFilters)\n            {\n                var encounters = RaidContainer.Encounters;\n                var rewards = RaidContainer.Rewards;\n                var boost = Invoke(() => RaidBoost.SelectedIndex);\n                var satisfiedFilters = new List<(RaidFilter, ITeraRaid, Raid, IReadOnlyList<(int, int, int)>)>();\n                for (int i = 0; i < raids.Count; i++)\n                {\n                    foreach (var filter in RaidFilters)\n                    {\n                        if (filter is null)\n                            continue;\n\n                        if (filter.FilterSatisfied(RaidContainer, encounters[i], raids[i], boost))\n                        {\n                            satisfiedFilters.Add((filter, encounters[i], raids[i], rewards[i]));\n                            if (InvokeRequired)\n                                Invoke(() => ComboIndex.SelectedIndex = i);\n                            else\n                                ComboIndex.SelectedIndex = i;\n                        }\n                    }\n                }\n\n                if (Config.EnableNotification)\n                {\n                    foreach (var satisfied in satisfiedFilters)\n                    {\n                        var teraType = satisfied.Item3.GetTeraType(satisfied.Item2);\n                        var color = TypeColor.GetTypeSpriteColor((byte)teraType);\n                        var hexColor = $\"{color.R:X2}{color.G:X2}{color.B:X2}\";\n                        var blank = new PK9\n                        {\n                            Species = satisfied.Item2.Species,\n                            Form = satisfied.Item2.Form,\n                        };\n\n                        var spriteName = GetSpriteNameForUrl(\n                            blank,\n                            satisfied.Item3.CheckIsShiny(satisfied.Item2)\n                        );\n                        await Webhook\n                            .SendNotification(satisfied.Item2, satisfied.Item3, satisfied.Item1, time, satisfied.Item4, hexColor, spriteName, Source.Token)\n                            .ConfigureAwait(false);\n                    }\n                }\n\n                // Save game on match.\n                if (Config.SaveOnMatch && satisfiedFilters.Count > 0)\n                    await ConnectionWrapper.SaveGame(Config, token).ConfigureAwait(false);\n\n                if (Config.EnableAlertWindow)\n                    await this.DisplayMessageBox(Webhook, $\"{Config.AlertWindowMessage}\\n\\nTime Spent: {time}\", token, \"Result found!\").ConfigureAwait(false);\n                Invoke(() => Text = $\"{formTitle} [Match Found in {time}]\");\n            }\n        }\n        catch (Exception ex)\n        {\n            UpdateStatus(\"Date advance stopped.\");\n            SearchTimer.Stop();\n            if (ex is not TaskCanceledException)\n                await this.DisplayMessageBox(Webhook, ex.Message, token, \"Date Advance Error\").ConfigureAwait(false);\n        }\n\n        if (InvokeRequired)\n        {\n            Invoke(() =>\n            {\n                ButtonAdvanceDate.Visible = true;\n                StopAdvance_Button.Visible = false;\n            });\n        }\n        else\n        {\n            ButtonAdvanceDate.Visible = true;\n            StopAdvance_Button.Visible = false;\n        }\n\n        var buttons = new[]\n        {\n            ButtonViewRAM,\n            ButtonAdvanceDate,\n            ButtonDisconnect,\n            ButtonDownloadEvents,\n            SendScreenshot,\n            ButtonReadRaids,\n        };\n        ButtonEnable(true, buttons);\n        DateAdvanceSource = new();\n    }\n\n    private void StopAdvanceButton_Click(object sender, EventArgs e)\n    {\n        StopAdvance_Button.Visible = false;\n        ButtonAdvanceDate.Visible = true;\n        DateAdvanceSource.Cancel();\n        DateAdvanceSource = new();\n        teraRaidView?.ResetProgressBar();\n\n        stopwatch.Stop();\n        SearchTimer.Stop();\n    }\n\n    private void ButtonReadRaids_Click(object sender, EventArgs e)\n    {\n        Task.Run(async () => await ReadRaidsAsync(Source.Token).ConfigureAwait(false), Source.Token);\n    }\n\n    private async Task ReadRaidsAsync(CancellationToken token)\n    {\n        if (IsReading)\n        {\n            await this\n                .DisplayMessageBox(Webhook,\n                    \"Please wait for the current RAM read to finish.\",\n                    token\n                )\n                .ConfigureAwait(false);\n            return;\n        }\n\n        ButtonEnable(false, ButtonViewRAM, ButtonAdvanceDate, ButtonDisconnect, ButtonDownloadEvents, SendScreenshot, ButtonReadRaids);\n        try\n        {\n            await ReadRaids(token).ConfigureAwait(false);\n        }\n        catch (Exception ex)\n        {\n            await this\n                .DisplayMessageBox(Webhook,\n                    $\"Error occurred while reading raids: {ex.Message}\",\n                    token\n                )\n                .ConfigureAwait(false);\n        }\n\n        ButtonEnable(true, ButtonViewRAM, ButtonAdvanceDate, ButtonDisconnect, ButtonDownloadEvents, SendScreenshot, ButtonReadRaids);\n    }\n\n    private void ViewRAM_Click(object sender, EventArgs e)\n    {\n        if (IsReading)\n        {\n            Task.Run(async () => await this.DisplayMessageBox(Webhook, \"Please wait for the current RAM read to finish.\", Source.Token).ConfigureAwait(false), Source.Token);\n            return;\n        }\n\n        ButtonEnable(false, ButtonViewRAM);\n        RaidBlockViewer window = default!;\n\n        if (ConnectionWrapper is { Connected: true } && ModifierKeys == Keys.Shift)\n        {\n            try\n            {\n                var data = ConnectionWrapper.Connection\n                    .ReadBytesAbsoluteAsync(\n                        RaidBlockOffsetBase,\n                        (int)RaidBlock.SIZE_BASE,\n                        Source.Token\n                    )\n                    .Result;\n                window = new(data, RaidBlockOffsetBase);\n            }\n            catch (Exception ex)\n            {\n                ButtonEnable(true, ButtonViewRAM);\n                Task.Run(\n                    async () =>\n                        await this\n                            .DisplayMessageBox(Webhook, ex.Message, Source.Token)\n                            .ConfigureAwait(false),\n                    Source.Token\n                );\n                return;\n            }\n        }\n        else if (RaidContainer.Raids.Count > ComboIndex.SelectedIndex)\n        {\n            var data = RaidContainer.Raids[ComboIndex.SelectedIndex].GetData();\n            window = new(data, RaidBlockOffsetBase);\n        }\n\n        ShowDialog(window);\n        ButtonEnable(true, ButtonViewRAM);\n    }\n\n    private void StopFilter_Click(object sender, EventArgs e)\n    {\n        var form = new FilterSettings(ref RaidFilters);\n        ShowDialog(form);\n    }\n\n    private void DownloadEvents_Click(object sender, EventArgs e)\n    {\n        if (ConnectionWrapper is not { Connected: true })\n            return;\n\n        if (IsReading)\n        {\n            Task.Run(async () => await this.DisplayMessageBox(Webhook, \"Please wait for the current RAM read to finish.\", Source.Token).ConfigureAwait(false), Source.Token);\n            return;\n        }\n\n        Task.Run(async () => await DownloadEventsAsync(Source.Token).ConfigureAwait(false), Source.Token);\n    }\n\n    private async Task DownloadEventsAsync(CancellationToken token)\n    {\n        ButtonEnable(false, ButtonViewRAM, ButtonAdvanceDate, ButtonDisconnect, ButtonDownloadEvents, SendScreenshot, ButtonReadRaids);\n        UpdateStatus(\"Reading event raid status...\");\n\n        try\n        {\n            await ReadEventRaids(token, true).ConfigureAwait(false);\n        }\n        catch (Exception ex)\n        {\n            await this\n                .DisplayMessageBox(Webhook,\n                    $\"Error occurred while reading event raids: {ex.Message}\",\n                    token\n                )\n                .ConfigureAwait(false);\n        }\n\n        ButtonEnable(true, ButtonViewRAM, ButtonAdvanceDate, ButtonDisconnect, ButtonDownloadEvents, SendScreenshot, ButtonReadRaids);\n        UpdateStatus(\"Completed!\");\n    }\n\n    private void Seed_Click(object sender, EventArgs e)\n    {\n        if (ModifierKeys == Keys.Shift && RaidContainer.Raids.Count > ComboIndex.SelectedIndex)\n        {\n            var raid = RaidContainer.Raids[ComboIndex.SelectedIndex];\n            Seed.Text = HideSeed ? $\"{raid.Seed:X8}\" : \"Hidden\";\n            EC.Text = HideSeed ? $\"{raid.EC:X8}\" : \"Hidden\";\n            PID.Text =\n                (HideSeed ? $\"{raid.PID:X8}\" : \"Hidden\")\n                + $\"{(raid.IsShiny ? \" (☆)\" : string.Empty)}\";\n            HideSeed = !HideSeed;\n            ActiveControl = null;\n        }\n    }\n\n    private void ConfigSettings_Click(object sender, EventArgs e)\n    {\n        var form = new ConfigWindow(Config);\n        ShowDialog(form);\n    }\n\n    private void EnableFilters_Click(object sender, EventArgs e)\n    {\n        Config.EnableFilters = CheckEnableFilters.Checked;\n    }\n\n    private readonly JsonSerializerOptions options = new() { WriteIndented = true };\n    private void MainWindow_FormClosing(object sender, FormClosingEventArgs e)\n    {\n        var configpath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, \"config.json\");\n        string output = JsonSerializer.Serialize(Config, options);\n        using StreamWriter sw = new(configpath);\n        sw.Write(output);\n\n        if (ConnectionWrapper is { Connected: true })\n        {\n            try\n            {\n                _ = ConnectionWrapper.DisconnectAsync(Source.Token).Result;\n            }\n            catch\n            {\n                // ignored\n            }\n        }\n\n        Source.Cancel();\n        DateAdvanceSource.Cancel();\n        Source = new();\n        DateAdvanceSource = new();\n    }\n\n    private async Task ReadEventRaids(CancellationToken token, bool force = false)\n    {\n        var priorityFile = Path.Combine(\n            Directory.GetCurrentDirectory(),\n            \"cache\",\n            \"raid_priority_array\"\n        );\n        if (!force && File.Exists(priorityFile))\n        {\n            var (_, version) = FlatbufferDumper.DumpDeliveryPriorities(\n                await File.ReadAllBytesAsync(priorityFile, token)\n            );\n            var block = await ConnectionWrapper\n                .ReadBlockDefault(\n                    BCATRaidPriorityLocation,\n                    \"raid_priority_array.tmp\",\n                    true,\n                    token\n                )\n                .ConfigureAwait(false);\n            var (_, v2) = FlatbufferDumper.DumpDeliveryPriorities(block);\n            if (version != v2)\n                force = true;\n\n            var tempFile = Path.Combine(\n                Directory.GetCurrentDirectory(),\n                \"cache\",\n                \"raid_priority_array.tmp\"\n            );\n            if (File.Exists(tempFile))\n                File.Delete(tempFile);\n\n            if (v2 == 0) // raid reset\n                return;\n        }\n\n        var deliveryRaidPriorityFlatbuffer = await ConnectionWrapper\n            .ReadBlockDefault(BCATRaidPriorityLocation, \"raid_priority_array\", force, token)\n            .ConfigureAwait(false);\n        var (groupID, priority) = FlatbufferDumper.DumpDeliveryPriorities(deliveryRaidPriorityFlatbuffer);\n        if (priority == 0)\n            return;\n\n        var deliveryRaidFlatbuffer = await ConnectionWrapper\n            .ReadBlockDefault(BCATRaidBinaryLocation, \"raid_enemy_array\", force, token)\n            .ConfigureAwait(false);\n        var deliveryFixedRewardFlatbuffer = await ConnectionWrapper\n            .ReadBlockDefault(\n                BCATRaidFixedRewardLocation,\n                \"fixed_reward_item_array\",\n                force,\n                token\n            )\n            .ConfigureAwait(false);\n        var deliveryLotteryRewardFlatbuffer = await ConnectionWrapper\n            .ReadBlockDefault(\n                BCATRaidLotteryRewardLocation,\n                \"lottery_reward_item_array\",\n                force,\n                token\n            )\n            .ConfigureAwait(false);\n\n        RaidContainer.DistTeraRaids = TeraDistribution.GetAllEncounters(deliveryRaidFlatbuffer);\n        RaidContainer.MightTeraRaids = TeraMight.GetAllEncounters(deliveryRaidFlatbuffer);\n        RaidContainer.DeliveryRaidPriority = groupID;\n        RaidContainer.DeliveryRaidFixedRewards = FlatbufferDumper.DumpFixedRewards(\n            deliveryFixedRewardFlatbuffer\n        );\n        RaidContainer.DeliveryRaidLotteryRewards = FlatbufferDumper.DumpLotteryRewards(\n            deliveryLotteryRewardFlatbuffer\n        );\n    }\n\n    private void DisplayRaid()\n    {\n        int index = ComboIndex.SelectedIndex;\n        var raids = RaidContainer.Raids;\n        if (raids.Count > index)\n        {\n            Raid raid = raids[index];\n            var encounter = RaidContainer.Encounters[index];\n\n            Seed.Text = !HideSeed ? $\"{raid.Seed:X8}\" : \"Hidden\";\n            EC.Text = !HideSeed ? $\"{raid.EC:X8}\" : \"Hidden\";\n            PID.Text = GetPIDString(raid, encounter);\n            Area.Text =\n                $\"{Areas.GetArea((int)(raid.Area - 1), raid.MapParent)} - Den {raid.Den}\";\n            labelEvent.Visible = raid.IsEvent;\n\n            var teraType = raid.GetTeraType(encounter);\n            TeraType.Text = RaidContainer.Strings.types[teraType];\n\n            int starCount = encounter switch\n            {\n                TeraDistribution => encounter.Stars,\n                TeraMight => encounter.Stars,\n                _ => raid.GetStarCount(raid.Difficulty, Config.Progress, raid.IsBlack),\n            };\n            Difficulty.Text = string.Concat(Enumerable.Repeat(\"☆\", starCount));\n\n            var param = encounter.GetParam();\n            var blank = new PK9 { Species = encounter.Species, Form = encounter.Form };\n\n            raid.GenerateDataPK9(blank, param, encounter.Shiny, raid.Seed);\n\n            var img = blank.Sprite();\n            img = (Bitmap)ApplyTeraColor((byte)teraType, img, SpriteBackgroundType.BottomStripe);\n\n            var form = ShowdownParsing.GetStringFromForm(\n                encounter.Form,\n                RaidContainer.Strings,\n                encounter.Species,\n                EntityContext.Gen9\n            );\n            if (form.Length > 0 && form[0] != '-')\n                form = form.Insert(0, \"-\");\n\n            Species.Text = $\"{RaidContainer.Strings.Species[encounter.Species]}{form}\";\n            Sprite.Image = img;\n            GemIcon.Image = GetDisplayGemImage(teraType, raid);\n            Gender.Text = $\"{(Gender)blank.Gender}\";\n\n            var nature = blank.Nature;\n            Nature.Text = $\"{RaidContainer.Strings.Natures[(int)nature]}\";\n            Ability.Text = $\"{RaidContainer.Strings.Ability[blank.Ability]}\";\n\n            var extraMoves = new ushort[] { 0, 0, 0, 0 };\n            for (int i = 0; i < encounter.ExtraMoves.Length; i++)\n            {\n                if (i < extraMoves.Length)\n                    extraMoves[i] = encounter.ExtraMoves[i];\n            }\n\n            Move1.Text = ShowExtraMoves\n                ? RaidContainer.Strings.Move[extraMoves[0]]\n                : RaidContainer.Strings.Move[encounter.Move1];\n            Move2.Text = ShowExtraMoves\n                ? RaidContainer.Strings.Move[extraMoves[1]]\n                : RaidContainer.Strings.Move[encounter.Move2];\n            Move3.Text = ShowExtraMoves\n                ? RaidContainer.Strings.Move[extraMoves[2]]\n                : RaidContainer.Strings.Move[encounter.Move3];\n            Move4.Text = ShowExtraMoves\n                ? RaidContainer.Strings.Move[extraMoves[3]]\n                : RaidContainer.Strings.Move[encounter.Move4];\n\n            Span<int> _ivs = stackalloc int[6];\n            blank.GetIVs(_ivs);\n            IVs.Text = IVsString(Utils.ToSpeedLast(_ivs));\n            toolTip.SetToolTip(IVs, IVsString(Utils.ToSpeedLast(_ivs), true));\n\n            PID.BackColor = raid.CheckIsShiny(encounter) ? Color.Gold : DefaultColor;\n            IVs.BackColor = IVs.Text is \"31/31/31/31/31/31\" ? Color.YellowGreen : DefaultColor;\n            return;\n        }\n\n        var msg = $\"Unable to display raid at index {index}. Ensure there are no cheats running or anything else that might shift RAM (Edizon, overlays, etc.), then reboot your console and try again.\";\n        Task.Run(async () => await this.DisplayMessageBox(Webhook, msg, Source.Token).ConfigureAwait(false), Source.Token);\n    }\n\n    private static Image? GetDisplayGemImage(int teratype, Raid raid)\n    {\n        var shouldDisplayBlack = raid.IsBlack || raid.Flags == 3;\n        var baseImg = shouldDisplayBlack\n            ? (Image?)Properties.Resources.ResourceManager.GetObject($\"black_{teratype:D2}\")\n            : (Image?)Properties.Resources.ResourceManager.GetObject($\"gem_{teratype:D2}\");\n        if (baseImg is null)\n            return null;\n\n        var backlayer = new Bitmap(\n            baseImg.Width + 10,\n            baseImg.Height + 10,\n            baseImg.PixelFormat\n        );\n        baseImg = ImageUtil.LayerImage(backlayer, baseImg, 5, 5);\n        var pixels = ImageUtil.GetPixelData((Bitmap)baseImg);\n        for (int i = 0; i < pixels.Length; i += 4)\n        {\n            if (pixels[i + 3] == 0)\n            {\n                pixels[i] = 0;\n                pixels[i + 1] = 0;\n                pixels[i + 2] = 0;\n            }\n        }\n\n        baseImg = ImageUtil.GetBitmap(\n            pixels,\n            baseImg.Width,\n            baseImg.Height,\n            baseImg.PixelFormat\n        );\n        if (shouldDisplayBlack)\n        {\n            var color = Color.Indigo;\n            SpriteUtil.GetSpriteGlow(baseImg, color.B, color.G, color.R, out var glow);\n            baseImg = ImageUtil.LayerImage(\n                ImageUtil.GetBitmap(glow, baseImg.Width, baseImg.Height, baseImg.PixelFormat),\n                baseImg,\n                0,\n                0\n            );\n        }\n        else if (raid.IsEvent)\n        {\n            var color = Color.DarkTurquoise;\n            SpriteUtil.GetSpriteGlow(baseImg, color.B, color.G, color.R, out var glow);\n            baseImg = ImageUtil.LayerImage(\n                ImageUtil.GetBitmap(glow, baseImg.Width, baseImg.Height, baseImg.PixelFormat),\n                baseImg,\n                0,\n                0\n            );\n        }\n        return baseImg;\n    }\n\n    private void DisplayPrettyRaid()\n    {\n        if (teraRaidView is null)\n        {\n            Task.Run(\n                async () =>\n                    await this\n                        .DisplayMessageBox(Webhook,\n                            \"Something went terribly wrong: teraRaidView is not initialized.\",\n                            Source.Token\n                        )\n                        .ConfigureAwait(false),\n                Source.Token\n            );\n            return;\n        }\n\n        int index = ComboIndex.SelectedIndex;\n        var raids = RaidContainer.Raids;\n        if (raids.Count > index)\n        {\n            Raid raid = raids[index];\n            var encounter = RaidContainer.Encounters[index];\n\n            teraRaidView.Area.Text =\n                $\"{Areas.GetArea((int)(raid.Area - 1), raid.MapParent)} - Den {raid.Den}\";\n\n            var teraType = raid.GetTeraType(encounter);\n            teraRaidView.TeraType.Image = (Bitmap)\n                Properties.Resources.ResourceManager.GetObject($\"gem_text_{teraType}\")!;\n\n            int StarCount = encounter switch\n            {\n                TeraDistribution => encounter.Stars,\n                TeraMight => encounter.Stars,\n                _ => raid.GetStarCount(raid.Difficulty, Config.Progress, raid.IsBlack),\n            };\n            teraRaidView.Difficulty.Text = string.Concat(Enumerable.Repeat(\"⭐\", StarCount));\n\n            var param = encounter.GetParam();\n            var blank = new PK9 { Species = encounter.Species, Form = encounter.Form };\n\n            raid.GenerateDataPK9(blank, param, encounter.Shiny, raid.Seed);\n\n            var img = blank.Sprite();\n\n            teraRaidView.picBoxPokemon.Image = img;\n            var form = Utils.GetFormString(blank.Species, blank.Form, RaidContainer.Strings);\n\n            teraRaidView.Species.Text =\n                $\"{RaidContainer.Strings.Species[encounter.Species]}{form}\";\n            teraRaidView.Gender.Text = $\"{(Gender)blank.Gender}\";\n\n            var nature = blank.Nature;\n            teraRaidView.Nature.Text = $\"{RaidContainer.Strings.Natures[(int)nature]}\";\n            teraRaidView.Ability.Text = $\"{RaidContainer.Strings.Ability[blank.Ability]}\";\n\n            teraRaidView.Move1.Text =\n                encounter.Move1 > 0 ? RaidContainer.Strings.Move[encounter.Move1] : \"---\";\n            teraRaidView.Move2.Text =\n                encounter.Move2 > 0 ? RaidContainer.Strings.Move[encounter.Move2] : \"---\";\n            teraRaidView.Move3.Text =\n                encounter.Move3 > 0 ? RaidContainer.Strings.Move[encounter.Move3] : \"---\";\n            teraRaidView.Move4.Text =\n                encounter.Move4 > 0 ? RaidContainer.Strings.Move[encounter.Move4] : \"---\";\n\n            var length = encounter.ExtraMoves.Length < 4 ? 4 : encounter.ExtraMoves.Length;\n            var extraMoves = new ushort[length];\n            for (int i = 0; i < encounter.ExtraMoves.Length; i++)\n                extraMoves[i] = encounter.ExtraMoves[i];\n\n            teraRaidView.Move5.Text =\n                extraMoves[0] > 0 ? RaidContainer.Strings.Move[extraMoves[0]] : \"---\";\n            teraRaidView.Move6.Text =\n                extraMoves[1] > 0 ? RaidContainer.Strings.Move[extraMoves[1]] : \"---\";\n            teraRaidView.Move7.Text =\n                extraMoves[2] > 0 ? RaidContainer.Strings.Move[extraMoves[2]] : \"---\";\n            teraRaidView.Move8.Text =\n                extraMoves[3] > 0 ? RaidContainer.Strings.Move[extraMoves[3]] : \"---\";\n\n            Span<int> _ivs = stackalloc int[6];\n            blank.GetIVs(_ivs);\n            var ivs = Utils.ToSpeedLast(_ivs);\n\n            // HP\n            teraRaidView.HP.Text = $\"{ivs[0]:D2}\";\n            teraRaidView.HP.BackColor = Color.FromArgb(0, 5, 25);\n            if (teraRaidView.HP.Text is \"31\")\n                teraRaidView.HP.BackColor = Color.ForestGreen;\n            else if (teraRaidView.HP.Text is \"00\")\n                teraRaidView.HP.BackColor = Color.DarkRed;\n\n            // ATK\n            teraRaidView.ATK.Text = $\"{ivs[1]:D2}\";\n            teraRaidView.ATK.BackColor = Color.FromArgb(0, 5, 25);\n            if (teraRaidView.ATK.Text is \"31\")\n                teraRaidView.ATK.BackColor = Color.ForestGreen;\n            else if (teraRaidView.ATK.Text is \"00\")\n                teraRaidView.ATK.BackColor = Color.DarkRed;\n\n            // DEF\n            teraRaidView.DEF.Text = $\"{ivs[2]:D2}\";\n            teraRaidView.DEF.BackColor = Color.FromArgb(0, 5, 25);\n            if (teraRaidView.DEF.Text is \"31\")\n                teraRaidView.DEF.BackColor = Color.ForestGreen;\n            else if (teraRaidView.DEF.Text is \"00\")\n                teraRaidView.DEF.BackColor = Color.DarkRed;\n\n            // SPA\n            teraRaidView.SPA.Text = $\"{ivs[3]:D2}\";\n            teraRaidView.SPA.BackColor = Color.FromArgb(0, 5, 25);\n            if (teraRaidView.SPA.Text is \"31\")\n                teraRaidView.SPA.BackColor = Color.ForestGreen;\n            else if (teraRaidView.SPA.Text is \"00\")\n                teraRaidView.SPA.BackColor = Color.DarkRed;\n\n            // SPD\n            teraRaidView.SPD.Text = $\"{ivs[4]:D2}\";\n            teraRaidView.SPD.BackColor = Color.FromArgb(0, 5, 25);\n            if (teraRaidView.SPD.Text is \"31\")\n                teraRaidView.SPD.BackColor = Color.ForestGreen;\n            else if (teraRaidView.SPD.Text is \"00\")\n                teraRaidView.SPD.BackColor = Color.DarkRed;\n\n            // SPEED\n            teraRaidView.SPEED.Text = $\"{ivs[5]:D2}\";\n            teraRaidView.SPEED.BackColor = Color.FromArgb(0, 5, 25);\n            if (teraRaidView.SPEED.Text is \"31\")\n                teraRaidView.SPEED.BackColor = Color.ForestGreen;\n            else if (teraRaidView.SPEED.Text is \"00\")\n                teraRaidView.SPEED.BackColor = Color.DarkRed;\n\n            var map = GenerateMap(raid, teraType);\n            if (map is null)\n                Task.Run(async () => await this.DisplayMessageBox(Webhook, \"Error generating map.\", Source.Token).ConfigureAwait(false), Source.Token);\n            teraRaidView.Map.Image = map;\n\n            // Rewards\n            var rewards = RaidContainer.Rewards[index];\n\n            teraRaidView.textAbilityPatch.Text = \"0\";\n            teraRaidView.textAbilityPatch.ForeColor = Color.DimGray;\n            teraRaidView.labelAbilityPatch.ForeColor = Color.DimGray;\n\n            teraRaidView.textAbilityCapsule.Text = \"0\";\n            teraRaidView.textAbilityCapsule.ForeColor = Color.DimGray;\n            teraRaidView.labelAbilityCapsule.ForeColor = Color.DimGray;\n\n            teraRaidView.textBottleCap.Text = \"0\";\n            teraRaidView.textBottleCap.ForeColor = Color.DimGray;\n            teraRaidView.labelBottleCap.ForeColor = Color.DimGray;\n\n            teraRaidView.textSweetHerba.Text = \"0\";\n            teraRaidView.textSweetHerba.ForeColor = Color.DimGray;\n            teraRaidView.labelSweetHerba.ForeColor = Color.DimGray;\n\n            teraRaidView.textSaltyHerba.Text = \"0\";\n            teraRaidView.textSaltyHerba.ForeColor = Color.DimGray;\n            teraRaidView.labelSaltyHerba.ForeColor = Color.DimGray;\n\n            teraRaidView.textBitterHerba.Text = \"0\";\n            teraRaidView.textBitterHerba.ForeColor = Color.DimGray;\n            teraRaidView.labelBitterHerba.ForeColor = Color.DimGray;\n\n            teraRaidView.textSourHerba.Text = \"0\";\n            teraRaidView.textSourHerba.ForeColor = Color.DimGray;\n            teraRaidView.labelSourHerba.ForeColor = Color.DimGray;\n\n            teraRaidView.textSpicyHerba.Text = \"0\";\n            teraRaidView.textSpicyHerba.ForeColor = Color.DimGray;\n            teraRaidView.labelSpicyHerba.ForeColor = Color.DimGray;\n\n            for (int i = 0; i < rewards.Count; i++)\n            {\n                if (rewards[i].Item1 == 645)\n                {\n                    teraRaidView.textAbilityCapsule.Text = (\n                        int.Parse(teraRaidView.textAbilityCapsule.Text) + 1\n                    ).ToString();\n                    teraRaidView.textAbilityCapsule.ForeColor = Color.White;\n                    teraRaidView.labelAbilityCapsule.ForeColor = Color.WhiteSmoke;\n                }\n                if (rewards[i].Item1 == 795)\n                {\n                    teraRaidView.textBottleCap.Text = (\n                        int.Parse(teraRaidView.textBottleCap.Text) + 1\n                    ).ToString();\n                    teraRaidView.textBottleCap.ForeColor = Color.White;\n                    teraRaidView.labelBottleCap.ForeColor = Color.WhiteSmoke;\n                }\n                if (rewards[i].Item1 == 1606)\n                {\n                    teraRaidView.textAbilityPatch.Text = (\n                        int.Parse(teraRaidView.textAbilityPatch.Text) + 1\n                    ).ToString();\n                    teraRaidView.textAbilityPatch.ForeColor = Color.White;\n                    teraRaidView.labelAbilityPatch.ForeColor = Color.WhiteSmoke;\n                }\n                if (rewards[i].Item1 == 1904)\n                {\n                    teraRaidView.textSweetHerba.Text = (\n                        int.Parse(teraRaidView.textSweetHerba.Text) + 1\n                    ).ToString();\n                    teraRaidView.textSweetHerba.ForeColor = Color.White;\n                    teraRaidView.labelSweetHerba.ForeColor = Color.WhiteSmoke;\n                }\n                if (rewards[i].Item1 == 1905)\n                {\n                    teraRaidView.textSaltyHerba.Text = (\n                        int.Parse(teraRaidView.textSaltyHerba.Text) + 1\n                    ).ToString();\n                    teraRaidView.textSaltyHerba.ForeColor = Color.White;\n                    teraRaidView.labelSaltyHerba.ForeColor = Color.WhiteSmoke;\n                }\n                if (rewards[i].Item1 == 1906)\n                {\n                    teraRaidView.textSourHerba.Text = (\n                        int.Parse(teraRaidView.textSourHerba.Text) + 1\n                    ).ToString();\n                    teraRaidView.textSourHerba.ForeColor = Color.White;\n                    teraRaidView.labelSourHerba.ForeColor = Color.WhiteSmoke;\n                }\n                if (rewards[i].Item1 == 1907)\n                {\n                    teraRaidView.textBitterHerba.Text = (\n                        int.Parse(teraRaidView.textBitterHerba.Text) + 1\n                    ).ToString();\n                    teraRaidView.textBitterHerba.ForeColor = Color.White;\n                    teraRaidView.labelBitterHerba.ForeColor = Color.WhiteSmoke;\n                }\n                if (rewards[i].Item1 == 1908)\n                {\n                    teraRaidView.textSpicyHerba.Text = (\n                        int.Parse(teraRaidView.textSpicyHerba.Text) + 1\n                    ).ToString();\n                    teraRaidView.textSpicyHerba.ForeColor = Color.White;\n                    teraRaidView.labelSpicyHerba.ForeColor = Color.WhiteSmoke;\n                }\n            }\n\n            var shiny = raid.CheckIsShiny(encounter);\n            teraRaidView.Shiny.Visible = shiny;\n            teraRaidView.picShinyAlert.Enabled = shiny;\n            return;\n        }\n\n        var msg = $\"Unable to display raid at index {index}. Ensure there are no cheats running or anything else that might shift RAM (Edizon, overlays, etc.), then reboot your console and try again.\";\n        Task.Run(\n            async () =>\n                await this\n                    .DisplayMessageBox(Webhook, msg, Source.Token)\n                    .ConfigureAwait(false),\n            Source.Token\n        );\n    }\n\n    private string GetPIDString(Raid raid, ITeraRaid? enc)\n    {\n        if (HideSeed)\n            return \"Hidden\";\n\n        const string shiny_mark = \" (☆)\";\n        var pid = $\"{raid.PID:X8}\";\n        return raid.CheckIsShiny(enc) ? pid + shiny_mark : pid;\n    }\n\n    private static string IVsString(ReadOnlySpan<int> ivs, bool verbose = false)\n    {\n        string s = string.Empty;\n        var stats = new[] { \"HP\", \"Atk\", \"Def\", \"SpA\", \"SpD\", \"Spe\" };\n        for (int i = 0; i < ivs.Length; i++)\n        {\n            s += $\"{ivs[i]:D2}{(verbose ? \" \" + stats[i] : string.Empty)}\";\n            if (i < 5)\n                s += \"/\";\n        }\n        return s;\n    }\n\n    private static Image ApplyTeraColor(byte elementalType, Image img, SpriteBackgroundType type)\n    {\n        var color = TypeColor.GetTypeSpriteColor(elementalType);\n        var thk = SpriteBuilder.ShowTeraThicknessStripe;\n        var op = SpriteBuilder.ShowTeraOpacityStripe;\n        var bg = SpriteBuilder.ShowTeraOpacityBackground;\n        return ApplyColor(img, type, color, thk, op, bg);\n    }\n\n    private static Image ApplyColor(Image img, SpriteBackgroundType type, Color color, int thick, byte opacStripe, byte opacBack)\n    {\n        if (type == SpriteBackgroundType.BottomStripe)\n        {\n            int stripeHeight = thick; // from bottom\n            if ((uint)stripeHeight > img.Height) // clamp negative & too-high values back to height.\n                stripeHeight = img.Height;\n\n            return ImageUtil.BlendTransparentTo(img, color, opacStripe, img.Width * 4 * (img.Height - stripeHeight));\n        }\n        if (type == SpriteBackgroundType.TopStripe)\n        {\n            int stripeHeight = thick; // from top\n            if ((uint)stripeHeight > img.Height) // clamp negative & too-high values back to height.\n                stripeHeight = img.Height;\n\n            return ImageUtil.BlendTransparentTo(img, color, opacStripe, 0, (img.Width * 4 * stripeHeight) - 4);\n        }\n        if (type == SpriteBackgroundType.FullBackground) // full background\n            return ImageUtil.BlendTransparentTo(img, color, opacBack);\n        return img;\n    }\n\n    private static Bitmap? GenerateMap(Raid raid, int teratype)\n    {\n        var original = PKHeX.Drawing.Misc.TypeSpriteUtil.GetTypeSpriteGem((byte)teratype);\n        if (original is null)\n            return null;\n\n        var gem = new Bitmap(original, new Size(30, 30));\n        SpriteUtil.GetSpriteGlow(gem, 0xFF, 0xFF, 0xFF, out var glow, true);\n        gem = ImageUtil.LayerImage(gem, ImageUtil.GetBitmap(glow, gem.Width, gem.Height, gem.PixelFormat), 0, 0);\n        if (DenLocationsBase is null || DenLocationsBase.Count == 0 ||\n            DenLocationsKitakami is null || DenLocationsKitakami.Count == 0 ||\n            DenLocationsBlueberry is null || DenLocationsBlueberry.Count == 0)\n        {\n            return null;\n        }\n\n        var locData = raid.MapParent switch\n        {\n            TeraRaidMapParent.Paldea => DenLocationsBase,\n            TeraRaidMapParent.Kitakami => DenLocationsKitakami,\n            _ => DenLocationsBlueberry,\n        };\n        var map = raid.MapParent switch\n        {\n            TeraRaidMapParent.Paldea => MapBase,\n            TeraRaidMapParent.Kitakami => MapKitakami,\n            _ => MapBlueberry,\n        };\n        try\n        {\n            (double x, double z) = GetCoordinate(raid, locData, gem);\n            return ImageUtil.LayerImage(map, gem, (int)x, (int)z);\n        }\n        catch\n        {\n            return null;\n        }\n    }\n\n    private static (double x, double y) GetCoordinate(Raid raid, IReadOnlyDictionary<string, float[]> locData, Bitmap gem)\n    {\n        var m = MapMagic.GetMapMagic(raid.MapParent);\n        double x = m.ConvertX(locData[$\"{raid.Area}-{raid.LotteryGroup}-{raid.Den}\"][0]) - (gem.Size.Width / 2);\n        double z = m.ConvertZ(locData[$\"{raid.Area}-{raid.LotteryGroup}-{raid.Den}\"][2]) - (gem.Size.Height / 2);\n\n        return (x, z);\n    }\n\n    private bool StopAdvanceDate(IEnumerable<uint> previousSeeds)\n    {\n        var raids = RaidContainer.Raids;\n        var curSeeds = raids.Select(x => x.Seed).ToArray();\n        var sameRaids = curSeeds.Except(previousSeeds).ToArray().Length == 0;\n\n        StatDaySkipTries++;\n        if (sameRaids)\n            return false;\n\n        StatDaySkipSuccess++;\n        if (!Config.EnableFilters)\n            return true;\n\n        foreach (RaidFilter rf in RaidFilters)\n        {\n            var index = Invoke(() => RaidBoost.SelectedIndex);\n            var encounters = RaidContainer.Encounters;\n            if (rf.FilterSatisfied(RaidContainer, encounters, raids, index))\n                return true;\n        }\n\n        return StopAdvances;\n    }\n\n    private async Task ReadRaids(CancellationToken token)\n    {\n        if (Config is { PaldeaScan: false, KitakamiScan: false, BlueberryScan: false })\n        {\n            await this.DisplayMessageBox(Webhook, \"Please select a location to scan in your General Settings.\", token, \"No locations selected\").ConfigureAwait(false);\n            return;\n        }\n\n        if (RaidBlockOffsetBase == 0)\n        {\n            UpdateStatus(\"Caching the raid block pointers...\");\n            RaidBlockOffsetBase = await ConnectionWrapper.Connection\n                .PointerAll(RaidBlockPointerBase.ToArray(), token)\n                .ConfigureAwait(false);\n            RaidBlockOffsetKitakami = await ConnectionWrapper.Connection\n                .PointerAll(RaidBlockPointerKitakami.ToArray(), token)\n                .ConfigureAwait(false);\n            RaidBlockOffsetBlueberry = await ConnectionWrapper.Connection\n                .PointerAll(RaidBlockPointerBlueberry.ToArray(), token)\n                .ConfigureAwait(false);\n        }\n\n        RaidContainer.ClearRaids();\n        RaidContainer.ClearEncounters();\n        RaidContainer.ClearRewards();\n\n        // Base\n        var msg = string.Empty;\n        int delivery,\n            enc;\n\n        if (Config.PaldeaScan)\n        {\n            UpdateStatus(\"Reading Paldea raid block...\");\n            var data = await ConnectionWrapper.Connection\n                .ReadBytesAbsoluteAsync(RaidBlockOffsetBase + RaidBlock.HEADER_SIZE, (int)RaidBlock.SIZE_BASE, token)\n                .ConfigureAwait(false);\n\n            (delivery, enc) = RaidContainer.ReadAllRaids(data, Config.Progress, Config.EventProgress, GetRaidBoost(), TeraRaidMapParent.Paldea);\n            if (enc > 0)\n                msg += $\"Failed to find encounters for {enc} raid(s).\\n\";\n\n            if (delivery > 0)\n                msg += $\"Invalid delivery group ID for {delivery} raid(s). Try deleting the \\\"cache\\\" folder.\\n\";\n\n            if (msg != string.Empty)\n            {\n                msg += $\"\\nMore info can be found in the \\\"raid_dbg_{TeraRaidMapParent.Paldea}.txt\\\" file.\";\n                await this.DisplayMessageBox(Webhook, msg, token, \"Raid Read Error\").ConfigureAwait(false);\n            }\n        }\n\n        var raids = RaidContainer.Raids;\n        var encounters = RaidContainer.Encounters;\n        var rewards = RaidContainer.Rewards;\n        RaidContainer.ClearRaids();\n        RaidContainer.ClearEncounters();\n        RaidContainer.ClearRewards();\n\n        // Kitakami\n        if (Config.KitakamiScan)\n        {\n            UpdateStatus(\"Reading Kitakami raid block...\");\n            var data = await ConnectionWrapper.Connection\n                .ReadBytesAbsoluteAsync(RaidBlockOffsetKitakami, (int)RaidBlock.SIZE_KITAKAMI, token)\n                .ConfigureAwait(false);\n\n            msg = string.Empty;\n            (delivery, enc) = RaidContainer.ReadAllRaids(data, Config.Progress, Config.EventProgress, GetRaidBoost(), TeraRaidMapParent.Kitakami);\n            if (enc > 0)\n                msg += $\"Failed to find encounters for {enc} raid(s).\\n\";\n\n            if (delivery > 0)\n                msg += $\"Invalid delivery group ID for {delivery} raid(s). Try deleting the \\\"cache\\\" folder.\\n\";\n\n            if (msg != string.Empty)\n            {\n                msg += $\"\\nMore info can be found in the \\\"raid_dbg_{TeraRaidMapParent.Kitakami}.txt\\\" file.\";\n                await this.DisplayMessageBox(Webhook, msg, token, \"Raid Read Error\")\n                    .ConfigureAwait(false);\n            }\n        }\n\n        var allRaids = raids.Concat(RaidContainer.Raids).ToList().AsReadOnly();\n        var allEncounters = encounters.Concat(RaidContainer.Encounters).ToList().AsReadOnly();\n        var allRewards = rewards.Concat(RaidContainer.Rewards).ToList().AsReadOnly();\n        RaidContainer.ClearRaids();\n        RaidContainer.ClearEncounters();\n        RaidContainer.ClearRewards();\n\n        // Blueberry\n        if (Config.BlueberryScan)\n        {\n            UpdateStatus(\"Reading Blueberry raid block...\");\n            var data = await ConnectionWrapper.Connection\n                .ReadBytesAbsoluteAsync(RaidBlockOffsetBlueberry, (int)RaidBlock.SIZE_BLUEBERRY, token)\n                .ConfigureAwait(false);\n\n            msg = string.Empty;\n            (delivery, enc) = RaidContainer.ReadAllRaids(data, Config.Progress, Config.EventProgress, GetRaidBoost(), TeraRaidMapParent.Blueberry);\n            if (enc > 0)\n                msg += $\"Failed to find encounters for {enc} raid(s).\\n\";\n\n            if (delivery > 0)\n                msg += $\"Invalid delivery group ID for {delivery} raid(s). Try deleting the \\\"cache\\\" folder.\\n\";\n\n            if (msg != string.Empty)\n            {\n                msg += $\"\\nMore info can be found in the \\\"raid_dbg_{TeraRaidMapParent.Blueberry}.txt\\\" file.\";\n                await this.DisplayMessageBox(Webhook, msg, token, \"Raid Read Error\")\n                    .ConfigureAwait(false);\n            }\n        }\n\n        allRaids = allRaids.Concat(RaidContainer.Raids).ToList().AsReadOnly();\n        allEncounters = allEncounters.Concat(RaidContainer.Encounters).ToList().AsReadOnly();\n        allRewards = allRewards.Concat(RaidContainer.Rewards).ToList().AsReadOnly();\n\n        RaidContainer.SetRaids(allRaids);\n        RaidContainer.SetEncounters(allEncounters);\n        RaidContainer.SetRewards(allRewards);\n\n        UpdateStatus(\"Completed!\");\n\n        var filterMatchCount = Enumerable.Range(0, allRaids.Count)\n            .Count(c => RaidFilters.Any(z => z.FilterSatisfied(RaidContainer, allEncounters[c], allRaids[c], GetRaidBoost())));\n        if (InvokeRequired)\n            Invoke(() => LabelLoadedRaids.Text = $\"Matches: {filterMatchCount}\");\n        else\n            LabelLoadedRaids.Text = $\"Matches: {filterMatchCount}\";\n\n        if (allRaids.Count > 0)\n        {\n            ButtonEnable(true, ButtonPrevious, ButtonNext);\n            var dataSource = Enumerable.Range(0, allRaids.Count)\n                .Select(z => $\"{z + 1:D} / {allRaids.Count:D}\")\n                .ToArray();\n            if (InvokeRequired)\n                Invoke(() => ComboIndex.DataSource = dataSource);\n            else\n                ComboIndex.DataSource = dataSource;\n\n            if (InvokeRequired)\n                Invoke(() => ComboIndex.SelectedIndex = ComboIndex.SelectedIndex < allRaids.Count ? ComboIndex.SelectedIndex : 0);\n            else\n                ComboIndex.SelectedIndex = ComboIndex.SelectedIndex < allRaids.Count ? ComboIndex.SelectedIndex : 0;\n        }\n        else\n        {\n            ButtonEnable(false, ButtonPrevious, ButtonNext);\n            if (allRaids.Count > RaidBlock.MAX_COUNT_BASE + RaidBlock.MAX_COUNT_KITAKAMI || allRaids.Count == 0)\n            {\n                msg = \"Bad read, ensure there are no cheats running or anything else that might shift RAM (Edizon, overlays, etc.), then reboot your console and try again.\";\n                await this.DisplayMessageBox(Webhook, msg, token, \"Raid Read Error\").ConfigureAwait(false);\n            }\n        }\n    }\n\n    public void Game_SelectedIndexChanged(string name)\n    {\n        Config.Game = name;\n        RaidContainer.SetGame(name);\n        if (RaidContainer.Raids.Count > 0)\n            DisplayRaid();\n    }\n\n    public void Protocol_SelectedIndexChanged(SwitchProtocol protocol)\n    {\n        Config.Protocol = protocol;\n        ConnectionConfig.Protocol = protocol;\n        if (protocol is SwitchProtocol.USB)\n        {\n            InputSwitchIP.Visible = false;\n            LabelSwitchIP.Visible = false;\n            USB_Port_label.Visible = true;\n            USB_Port_TB.Visible = true;\n            ConnectionConfig.Port = Config.UsbPort;\n        }\n        else\n        {\n            InputSwitchIP.Visible = true;\n            LabelSwitchIP.Visible = true;\n            USB_Port_label.Visible = false;\n            USB_Port_TB.Visible = false;\n            ConnectionConfig.Port = 6000;\n        }\n    }\n\n    private void DisplayMap(object sender, EventArgs e)\n    {\n        var raids = RaidContainer.Raids;\n        if (raids.Count == 0)\n        {\n            Task.Run(async () => await this.DisplayMessageBox(Webhook, \"Raids not loaded.\", Source.Token).ConfigureAwait(false), Source.Token);\n            return;\n        }\n\n        var raid = raids[ComboIndex.SelectedIndex];\n        var encounter = RaidContainer.Encounters[ComboIndex.SelectedIndex];\n        var teraType = raid.GetTeraType(encounter);\n        var map = GenerateMap(raid, teraType);\n        if (map is null)\n        {\n            Task.Run(async () => await this.DisplayMessageBox(Webhook, \"Error generating map.\", Source.Token).ConfigureAwait(false), Source.Token);\n            return;\n        }\n\n        var form = new MapView(map);\n        ShowDialog(form);\n    }\n\n    private void Rewards_Click(object sender, EventArgs e)\n    {\n        if (RaidContainer.Raids.Count == 0)\n        {\n            Task.Run(async () => await this.DisplayMessageBox(Webhook, \"Raids not loaded.\", Source.Token).ConfigureAwait(false), Source.Token);\n            return;\n        }\n\n        var rewards = RaidContainer.Rewards[ComboIndex.SelectedIndex];\n        if (rewards is null)\n        {\n            Task.Run(async () => await this.DisplayMessageBox(Webhook, \"Error while displaying rewards.\", Source.Token).ConfigureAwait(false), Source.Token);\n            return;\n        }\n\n        var form = new RewardsView(RaidContainer.Strings.Item, RaidContainer.Strings.Move, rewards);\n        ShowDialog(form);\n    }\n\n    private void RaidBoost_SelectedIndexChanged(object sender, EventArgs e)\n    {\n        RaidContainer.ClearRewards();\n        var raids = RaidContainer.Raids;\n        var encounters = RaidContainer.Encounters;\n\n        List<List<(int, int, int)>> newRewards = [];\n        for (int i = 0; i < raids.Count; i++)\n        {\n            var raid = raids[i];\n            var encounter = encounters[i];\n            newRewards.Add(encounter.GetRewards(RaidContainer, raid, RaidBoost.SelectedIndex));\n        }\n        RaidContainer.SetRewards(newRewards);\n    }\n\n    private void Move_Clicked(object sender, EventArgs e)\n    {\n        if (RaidContainer.Raids.Count == 0)\n        {\n            Task.Run(async () => await this.DisplayMessageBox(Webhook, \"Raids not loaded.\", Source.Token).ConfigureAwait(false), Source.Token);\n            return;\n        }\n\n        var encounter = RaidContainer.Encounters[ComboIndex.SelectedIndex];\n        if (encounter is null)\n            return;\n\n        ShowExtraMoves ^= true;\n        LabelMoves.Text = ShowExtraMoves ? \"Extra:\" : \"Moves:\";\n        LabelMoves.Location = LabelMoves.Location with { X = LabelMoves.Location.X + (ShowExtraMoves ? 9 : -9) };\n\n        var length = encounter.ExtraMoves.Length < 4 ? 4 : encounter.ExtraMoves.Length;\n        var extraMoves = new ushort[length];\n        for (int i = 0; i < encounter.ExtraMoves.Length; i++)\n            extraMoves[i] = encounter.ExtraMoves[i];\n\n        Move1.Text = ShowExtraMoves\n            ? RaidContainer.Strings.Move[extraMoves[0]]\n            : RaidContainer.Strings.Move[encounter.Move1];\n        Move2.Text = ShowExtraMoves\n            ? RaidContainer.Strings.Move[extraMoves[1]]\n            : RaidContainer.Strings.Move[encounter.Move2];\n        Move3.Text = ShowExtraMoves\n            ? RaidContainer.Strings.Move[extraMoves[2]]\n            : RaidContainer.Strings.Move[encounter.Move3];\n        Move4.Text = ShowExtraMoves\n            ? RaidContainer.Strings.Move[extraMoves[3]]\n            : RaidContainer.Strings.Move[encounter.Move4];\n    }\n\n    private void ComboIndex_SelectedIndexChanged(object sender, EventArgs e)\n    {\n        if (RaidContainer.Raids.Count == 0)\n            return;\n\n        DisplayRaid();\n        if (Config.StreamerView)\n            DisplayPrettyRaid();\n    }\n\n    private void SendScreenshot_Click(object sender, EventArgs e)\n    {\n        Task.Run(async () =>\n            {\n                try\n                {\n                    await Webhook.SendScreenshot(ConnectionWrapper.Connection, Source.Token).ConfigureAwait(false);\n                }\n                catch (Exception ex)\n                {\n                    await this.DisplayMessageBox(Webhook, $\"Could not send the screenshot: {ex.Message}\", Source.Token).ConfigureAwait(false);\n                }\n            },\n            Source.Token\n        );\n    }\n\n    private void SearchTimer_Elapsed(object sender, EventArgs e)\n    {\n        if (!stopwatch.IsRunning)\n            return;\n\n        var timeSpan = stopwatch.Elapsed;\n        var time = $\"{timeSpan.Days:00}:{timeSpan.Hours:00}:{timeSpan.Minutes:00}:{timeSpan.Seconds:00}\";\n\n        Invoke(() => Text = $\"{formTitle} [Searching for {time}]\");\n        if (Config.StreamerView && teraRaidView is not null)\n            Invoke(() => teraRaidView.textSearchTime.Text = time);\n    }\n\n    public void TestWebhook() => Task.Run(async () => await TestWebhookAsync(Source.Token).ConfigureAwait(false), Source.Token);\n\n    private async Task TestWebhookAsync(CancellationToken token)\n    {\n        var filter = new RaidFilter { Name = \"Test Webhook\" };\n\n        int i = ComboIndex.SelectedIndex;\n\n        var raids = RaidContainer.Raids;\n        var encounters = RaidContainer.Encounters;\n        var rewards = RaidContainer.Rewards;\n        if (i <= -1 || encounters[i] is null || raids[i] is null)\n        {\n            await this.DisplayMessageBox(Webhook, \"Please connect to your device and ensure a raid has been found.\", token).ConfigureAwait(false);\n            return;\n        }\n\n        var timeSpan = stopwatch.Elapsed;\n        string time = $\"{timeSpan.Hours:00}:{timeSpan.Minutes:00}:{timeSpan.Seconds:00}\";\n        var teraType = raids[i].GetTeraType(encounters[i]);\n        var color = TypeColor.GetTypeSpriteColor((byte)teraType);\n        var hexColor = $\"{color.R:X2}{color.G:X2}{color.B:X2}\";\n\n        var blank = new PK9\n        {\n            Species = encounters[i].Species,\n            Form = encounters[i].Form,\n            Gender = encounters[i].Gender,\n        };\n        blank.SetSuggestedFormArgument();\n\n        var spriteName = GetSpriteNameForUrl(blank, raids[i].CheckIsShiny(encounters[i]));\n        await Webhook.SendNotification(encounters[i], raids[i], filter, time, rewards[i], hexColor, spriteName, token).ConfigureAwait(false);\n    }\n\n    public void ToggleStreamerView()\n    {\n        if (Config.StreamerView)\n        {\n            teraRaidView = new();\n            teraRaidView.Map.Image = MapBase;\n            teraRaidView.Show();\n        }\n        else if (!Config.StreamerView && teraRaidView is not null)\n        {\n            teraRaidView.Close();\n        }\n    }\n\n    private static string GetSpriteNameForUrl(PK9 pk, bool shiny)\n    {\n        // Since we're later using this for URL assembly later, we need dashes instead of underscores for forms.\n        var spriteName = SpriteName.GetResourceStringSprite(pk.Species, pk.Form, pk.Gender, pk.FormArgument, EntityContext.Gen9, shiny)[1..];\n        return spriteName.Replace('_', '-').Insert(0, \"_\");\n    }\n\n    private void B_DateTools_Click(object sender, EventArgs e)\n    {\n        Task.Run(async () =>\n        {\n            try\n            {\n                var tick = await ConnectionWrapper.GetCurrentTime(Source.Token).ConfigureAwait(false);\n                var form = new TickModifier(tick, ConnectionWrapper, Webhook, Source.Token);\n                ShowDialog(form);\n            }\n            catch (Exception ex)\n            {\n                await this.DisplayMessageBox(Webhook, $\"Could not read the date: {ex.Message}\", Source.Token).ConfigureAwait(false);\n            }\n        });\n    }\n\n\n    private void CheckForUpdates()\n    {\n        Task.Run(async () =>\n        {\n            Version? latestVersion;\n            try { latestVersion = Utils.GetLatestVersion(); }\n            catch (Exception ex)\n            {\n                Debug.WriteLine($\"Exception while checking for latest version: {ex}\");\n                return;\n            }\n\n            if (latestVersion is null || latestVersion <= CurrentVersion)\n                return;\n\n            while (!IsHandleCreated) // Wait for form to be ready\n                await Task.Delay(2_000).ConfigureAwait(false);\n            await InvokeAsync(() => NotifyNewVersionAvailable(latestVersion));\n        });\n    }\n\n    private void NotifyNewVersionAvailable(Version version)\n    {\n        Text += $\" - Update v{version.Major}.{version.Minor}.{version.Build} available!\";\n        UpdateStatus($\"Update v{version.Major}.{version.Minor}.{version.Build} available!\");\n#if !DEBUG\n        using UpdateNotifPopup nup = new(CurrentVersion, version);\n        if (nup.ShowDialog() == DialogResult.OK)\n        {\n            Process.Start(new ProcessStartInfo(\"https://github.com/LegoFigure11/RaidCrawler/releases/\")\n            {\n                UseShellExecute = true\n            });\n        }\n#endif\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/MainWindow.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!--\n    Microsoft ResX Schema \n\n    Version 2.0\n\n    The primary goals of this format is to allow a simple XML format\n    that is mostly human readable. The generation and parsing of the\n    various data types are done through the TypeConverter classes\n    associated with the data types.\n\n    Example:\n\n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n\n    There are any number of \"resheader\" rows that contain simple\n    name/value pairs.\n\n    Each data row contains a name, and value. The row also contains a\n    type or mimetype. Type corresponds to a .NET class that support\n    text/value conversion through the TypeConverter architecture.\n    Classes that don't support this are serialized and stored with the\n    mimetype set.\n\n    The mimetype is used for serialized objects, and tells the\n    ResXResourceReader how to depersist the object. This is currently not\n    extensible. For a given mimetype the value must be set accordingly:\n\n    Note - application/x-microsoft.net.object.binary.base64 is the format\n    that the ResXResourceWriter will generate, however the reader can\n    read any of the formats listed below.\n\n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array\n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <metadata name=\"toolTip.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>136, 17</value>\n  </metadata>\n  <metadata name=\"SearchTimer.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>17, 17</value>\n  </metadata>\n  <metadata name=\"statusStrip1.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>226, 17</value>\n  </metadata>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAkAAMMOAADDDgAAAAAAAAAA\n        AACDiI4Uy83Ql+jr6+Tk5+ffz9LUvrm8v56lqa2AlZieZYiOlFF7gYhEb3Z+O2lxeTlpcXk4bnV9OnqB\n        iEOIjpRQmJyiYKmssXm7v8KZ0tTWuubo6drn6enku77Br2pxeDDX2NtL+vn69OnX5P/lz9//9Orx//n2\n        +f/4+Pn89fb29u/y8e3p6+zm5ejo4OTn597k5+fe5ejo3+nr6+Xv8vHt9ff39fj4+fv59/n/9Orx/+TP\n        3//p1+T/9vb2+qqvs3Xs7e5g/Pr7/bR6pv+YSIT/o1yS/7F0ov++jLL/y6PB/9Oxy//exNj/483e/+TN\n        3v/kzd7/5M3e/97E2P/TsMr/y6LB/76Msv+xdKL/o1yR/5hIg/+0eqb/+vn6/8fJzYHw8PFR/fv8+rV9\n        pv+TQH7/lEF//5NAfv+TQH7/k0B+/5VDgP+XRoL/l0aC/5ZFgf+WRYH/l0aC/5ZGgv+VQoD/k0B+/5NA\n        fv+TQH7/lEF//5NAfv+1fKf/+vn6/cXHynLs7e1D/fz99LuHrv+SPn3/lUJ//5VDgP+VQ4D/lUOA/5VD\n        gP+UQoD/pF6S/72KsP+9irD/o16S/5RCf/+VQ4D/lUOA/5VDgP+VQ4D/lUJ//5I+ff+7hq7/+fn5+rzA\n        wmPl5eY1/f797dGuyf+jXJL/nVGK/5hJhP+WRYH/lUOA/5RAf/+ydqP/7uHr//Lo8P/y6O//7uHq/7J2\n        o/+TQH7/lUOA/5ZEgf+YSIP/nE+I/6JYj//RrMj/9/j49q+zt1bh4uQo/f395vr2+f/y6PD/7N3o/+TP\n        3v/cwdX/1rbO/9Kvyf/v4uv/3cTX/6Rek/+kXpP/3cPX/+7h6//Rrcj/1LPM/9q+0//jzd3/6trm//Hm\n        7v/69vn/9vb38Kerr0Xa290e/P39297D1/+4gqv/xpq7/9GsyP/Zu9H/38bZ/+jW4//7+Pr/tX2o/5I+\n        ff+SPn3/tX2o//v4+v/o1uP/38fZ/9q+0//Tscv/yJ6+/7qFrf/fxtn/8vT06JyhpTnMz9AV+/38ztq+\n        0/+UQn//k0B+/5RCf/+WRIH/lkWB/6Nbkf/v4uz/yqHA/5ZEgf+WRIH/yqHA/+/i7P+iW5H/lkWB/5ZE\n        gf+UQn//k0B+/5RCf//bvtT/7/Hx35CUmS3BxMgL+/38v+LL3P+XR4P/lUOA/5VDgP+VQ4D/lUKA/5VD\n        gP/HnLz/9u/0/9q/0//av9P/9u/1/8edvf+VQ4D/lUKA/5VDgP+VQ4D/lUOA/5dHg//iy9z/7e/v1H6C\n        iCKipqkG+fv6sebS4f+aS4b/lUKA/5VDgP+VQoD/mUqG/5hJhP+ZSYT/voyy/9/G2f/fxtn/voyy/5lJ\n        hP+YSIT/mUqF/5VCgP+VQ4D/lUKA/5pLhv/m0uH/6OrqyG91fBhYW2AD9/j3oe3f6f+eU4v/lEJ//5VD\n        gP+WRYL/zabE/76Msv+TQH7/lEF//5dGgv+XRoL/lEF//5NAfv++jLH/zabD/5ZFgv+VQ4D/lEJ//55T\n        i//u3+r/3+LjvFdcZRL///8A9vj3jvPp8P+iWY//lEJ//5RBf/+zeKX/+vb5/9/H2f+YSIT/lUOA/5VD\n        gP+VQ4D/lUOA/5hIhP/fx9n/+vb5/7N4pf+UQX//lEJ//6JZj//z6fD/297frDY/SQz///8A9vf3ffXt\n        8/+mYJX/k0B+/55TjP/l0uH//////PXt8/+nY5b/lEF//5VDgP+VQ4D/lEF//6dilv/17fP//////eXS\n        4P+eU4z/k0B+/6Zfk//17fP/1tnbmwAHFQb///8A8fHxa/n1+P+tbp7/lEF//8qiwP/9/f308/T0pf79\n        /vLAkLT/k0B+/5VDgP+VQ4D/k0B+/8CQtP/8/Pz27Oztrf79/vHKocD/lEF//65unv/49Pf/zc/SiwAA\n        AAP///8A7/DwVPz7/PuzeaX/rW2d//Xu9P/19vao3N7fJf///9DbwNT/l0aC/5VDgP+VQ4D/l0aC/9zA\n        1f/3+fjcvsHDMP///5317vT/rW2d/7R6pv/6+fr+xMbJdQAAAAD///8A7+/wNP7+/urgyNr/6Nfk//z9\n        /N7f4uMz////AP3+/pnw5e7/olmQ/5RCf/+UQX//olmP//Hm7v/r7e2rOUFKCfv7+yv////Z6Nfk/+DI\n        2v/6+/vvxMfJSf///wD///8A2NrbBvz8/Hr////h/v7+1vHx81sAEBwB////APf4+Fr7+fv7tn6o/5NA\n        fv+TQH7/tn6p//v5+v3X2dtxAAAAAdDZ3AD6/v5U/v//1f///+L19fWBr7K2Cenq7AAAAAAA+Pn5APb2\n        9gX5+voh9/j4G9vb3gK9vb8A////AO7v8Sj////i0K3H/5RCgP+VQoD/0a3I//n7+uq/wsU5////AL/D\n        xgD09/cC+vv7Gvf4+CHf4OAG8fHxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6+vsAOTk\n        5Qj+//+x6trm/5xQif+cUIn/6trm//Hz87+Ok5gTqKquAISMlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjo+RAP///wD4+fpq+vf6/rJ2o/+ydqP/+vf5/9/h\n        4oAAAAACVFlhAIiPlwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAPn5+wD29vgi////2OfV4//n1eP/+vv73sjLzTD///8AWF5nAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnp6gAdHSUA/Pz8Xv//\n        /9v+/v7c8fLzZDZCTAL///8AYWlxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj5gAAAAAA9PT1A/v7+x/5+fkf0dLVBAAAAACvsbYAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAACAAAAAgAAAAIAAAACAAAEAgQABAIEAQQDDAMMA/wD/AP+A/wD/gf8A/8H/AP/D\n        /wA=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "RaidCrawler.WinForms/Program.cs",
    "content": "namespace RaidCrawler.WinForms;\n\ninternal static class Program\n{\n    /// <summary>\n    ///  The main entry point for the application.\n    /// </summary>\n    [STAThread]\n    static void Main()\n    {\n            // To customize application configuration such as set high DPI settings or default font,\n            // see https://aka.ms/applicationconfiguration.\n            ApplicationConfiguration.Initialize();\n            Application.Run(new MainWindow());\n        }\n}"
  },
  {
    "path": "RaidCrawler.WinForms/Properties/Resources.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace RaidCrawler.WinForms.Properties {\n    using System;\n    \n    \n    /// <summary>\n    ///   A strongly-typed resource class, for looking up localized strings, etc.\n    /// </summary>\n    // This class was auto-generated by the StronglyTypedResourceBuilder\n    // class via a tool like ResGen or Visual Studio.\n    // To add or remove a member, edit your .ResX file then rerun ResGen\n    // with the /str option, or rebuild your VS project.\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Resources.Tools.StronglyTypedResourceBuilder\", \"17.0.0.0\")]\n    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    internal class Resources {\n        \n        private static global::System.Resources.ResourceManager resourceMan;\n        \n        private static global::System.Globalization.CultureInfo resourceCulture;\n        \n        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute(\"Microsoft.Performance\", \"CA1811:AvoidUncalledPrivateCode\")]\n        internal Resources() {\n        }\n        \n        /// <summary>\n        ///   Returns the cached ResourceManager instance used by this class.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Resources.ResourceManager ResourceManager {\n            get {\n                if (object.ReferenceEquals(resourceMan, null)) {\n                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager(\"RaidCrawler.WinForms.Properties.Resources\", typeof(Resources).Assembly);\n                    resourceMan = temp;\n                }\n                return resourceMan;\n            }\n        }\n        \n        /// <summary>\n        ///   Overrides the current thread's CurrentUICulture property for all\n        ///   resource lookups using this strongly typed resource class.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Globalization.CultureInfo Culture {\n            get {\n                return resourceCulture;\n            }\n            set {\n                resourceCulture = value;\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_00 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_00\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_01 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_01\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_02 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_02\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_03 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_03\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_04 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_04\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_05 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_05\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_06 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_06\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_07 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_07\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_08 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_08\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_09 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_09\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_10 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_10\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_11 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_11\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_12 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_12\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_13 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_13\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_14 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_14\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_15 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_15\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_16 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_16\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap black_17 {\n            get {\n                object obj = ResourceManager.GetObject(\"black_17\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_00 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_00\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_01 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_01\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_02 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_02\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_03 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_03\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_04 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_04\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_05 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_05\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_06 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_06\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_07 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_07\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_08 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_08\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_09 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_09\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_10 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_10\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_11 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_11\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_12 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_12\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_13 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_13\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_14 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_14\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_15 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_15\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_16 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_16\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_17 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_17\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_0 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_0\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_1 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_1\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_10 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_10\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_11 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_11\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_12 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_12\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_13 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_13\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_14 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_14\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_15 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_15\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_16 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_16\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_17 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_17\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_2 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_2\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_3 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_3\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_4 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_4\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_5 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_5\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_6 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_6\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_7 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_7\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_8 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_8\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap gem_text_9 {\n            get {\n                object obj = ResourceManager.GetObject(\"gem_text_9\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_0645_hires {\n            get {\n                object obj = ResourceManager.GetObject(\"item_0645_hires\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_0795_hires {\n            get {\n                object obj = ResourceManager.GetObject(\"item_0795_hires\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_1606_hires {\n            get {\n                object obj = ResourceManager.GetObject(\"item_1606_hires\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_1904 {\n            get {\n                object obj = ResourceManager.GetObject(\"item_1904\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_1904_hires {\n            get {\n                object obj = ResourceManager.GetObject(\"item_1904_hires\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_1905 {\n            get {\n                object obj = ResourceManager.GetObject(\"item_1905\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_1905_hires {\n            get {\n                object obj = ResourceManager.GetObject(\"item_1905_hires\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_1906 {\n            get {\n                object obj = ResourceManager.GetObject(\"item_1906\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_1906_hires {\n            get {\n                object obj = ResourceManager.GetObject(\"item_1906_hires\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_1907 {\n            get {\n                object obj = ResourceManager.GetObject(\"item_1907\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_1907_hires {\n            get {\n                object obj = ResourceManager.GetObject(\"item_1907_hires\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_1908 {\n            get {\n                object obj = ResourceManager.GetObject(\"item_1908\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap item_1908_hires {\n            get {\n                object obj = ResourceManager.GetObject(\"item_1908_hires\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap material {\n            get {\n                object obj = ResourceManager.GetObject(\"material\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap shard {\n            get {\n                object obj = ResourceManager.GetObject(\"shard\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/Properties/Resources.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Windows.Forms\" name=\"System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" />\n  <data name=\"black_00\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_00.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_01\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_01.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_02\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_02.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_03\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_03.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_04\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_04.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_05\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_05.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_06\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_06.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_07\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_07.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_08\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_08.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_09\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_09.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_10\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_11\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_12\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_13\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_14\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_15\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_16\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"black_17\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\black_17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_00\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_00.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_01\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_01.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_02\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_02.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_03\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_03.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_04\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_04.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_05\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_05.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_06\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_06.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_07\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_07.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_08\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_08.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_09\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_09.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_10\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_11\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_12\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_13\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_14\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_15\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_16\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_17\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\resources\\gem_17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_0\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-0.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_1\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_10\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_11\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_12\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_13\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_14\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_15\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_16\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_17\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_2\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_3\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_4\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_5\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_6\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_7\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_8\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"gem_text_9\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\gem-text-9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_0645_hires\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_0645_hires.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_0795_hires\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_0795_hires.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_1606_hires\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_1606_hires.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_1904\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_1904.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_1904_hires\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_1904_hires.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_1905\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_1905.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_1905_hires\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_1905_hires.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_1906\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_1906.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_1906_hires\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_1906_hires.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_1907\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_1907.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_1907_hires\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_1907_hires.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_1908\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_1908.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"item_1908_hires\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\item_1908_hires.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"material\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\material.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"shard\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\shard.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n</root>"
  },
  {
    "path": "RaidCrawler.WinForms/Properties/Settings.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace RaidCrawler.WinForms.Properties {\n    \n    \n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator\", \"17.5.0.0\")]\n    public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {\n        \n        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));\n        \n        public static Settings Default {\n            get {\n                return defaultInstance;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/Properties/Settings.settings",
    "content": "﻿<?xml version='1.0' encoding='utf-8'?>\n<SettingsFile xmlns=\"http://schemas.microsoft.com/VisualStudio/2004/01/settings\" CurrentProfile=\"(Default)\">\n  <Profiles />\n  <Settings />\n</SettingsFile>"
  },
  {
    "path": "RaidCrawler.WinForms/RaidCrawler.WinForms.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <OutputType>WinExe</OutputType>\n    <TargetFramework>net10.0-windows</TargetFramework>\n\t  <LangVersion>14</LangVersion>\n    <Nullable>enable</Nullable>\n    <UseWindowsForms>true</UseWindowsForms>\n    <ImplicitUsings>enable</ImplicitUsings>\n    <ApplicationIcon>Resources\\MightiestMark.ico</ApplicationIcon>\n    <AssemblyVersion>1.1.0</AssemblyVersion>\n    <FileVersion>1.1.0</FileVersion>\n    <Platforms>x64</Platforms>\n    <PublishSingleFile>true</PublishSingleFile>\n    <IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>\n    <SelfContained>false</SelfContained>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <None Remove=\"Resources\\black_00.png\" />\n    <None Remove=\"Resources\\black_01.png\" />\n    <None Remove=\"Resources\\black_02.png\" />\n    <None Remove=\"Resources\\black_03.png\" />\n    <None Remove=\"Resources\\black_04.png\" />\n    <None Remove=\"Resources\\black_05.png\" />\n    <None Remove=\"Resources\\black_06.png\" />\n    <None Remove=\"Resources\\black_07.png\" />\n    <None Remove=\"Resources\\black_08.png\" />\n    <None Remove=\"Resources\\black_09.png\" />\n    <None Remove=\"Resources\\black_10.png\" />\n    <None Remove=\"Resources\\black_11.png\" />\n    <None Remove=\"Resources\\black_12.png\" />\n    <None Remove=\"Resources\\black_13.png\" />\n    <None Remove=\"Resources\\black_14.png\" />\n    <None Remove=\"Resources\\black_15.png\" />\n    <None Remove=\"Resources\\black_16.png\" />\n    <None Remove=\"Resources\\black_17.png\" />\n    <None Remove=\"Resources\\den_locations.json\" />\n    <None Remove=\"Resources\\encounter_gem_paldea.pkl\" />\n    <None Remove=\"Resources\\gem-text-0.png\" />\n    <None Remove=\"Resources\\gem-text-1.png\" />\n    <None Remove=\"Resources\\gem-text-10.png\" />\n    <None Remove=\"Resources\\gem-text-11.png\" />\n    <None Remove=\"Resources\\gem-text-12.png\" />\n    <None Remove=\"Resources\\gem-text-13.png\" />\n    <None Remove=\"Resources\\gem-text-14.png\" />\n    <None Remove=\"Resources\\gem-text-15.png\" />\n    <None Remove=\"Resources\\gem-text-16.png\" />\n    <None Remove=\"Resources\\gem-text-17.png\" />\n    <None Remove=\"Resources\\gem-text-2.png\" />\n    <None Remove=\"Resources\\gem-text-3.png\" />\n    <None Remove=\"Resources\\gem-text-4.png\" />\n    <None Remove=\"Resources\\gem-text-5.png\" />\n    <None Remove=\"Resources\\gem-text-6.png\" />\n    <None Remove=\"Resources\\gem-text-7.png\" />\n    <None Remove=\"Resources\\gem-text-8.png\" />\n    <None Remove=\"Resources\\gem-text-9.png\" />\n    <None Remove=\"Resources\\gem_00.png\" />\n    <None Remove=\"Resources\\gem_01.png\" />\n    <None Remove=\"Resources\\gem_02.png\" />\n    <None Remove=\"Resources\\gem_03.png\" />\n    <None Remove=\"Resources\\gem_04.png\" />\n    <None Remove=\"Resources\\gem_05.png\" />\n    <None Remove=\"Resources\\gem_06.png\" />\n    <None Remove=\"Resources\\gem_07.png\" />\n    <None Remove=\"Resources\\gem_08.png\" />\n    <None Remove=\"Resources\\gem_09.png\" />\n    <None Remove=\"Resources\\gem_10.png\" />\n    <None Remove=\"Resources\\gem_11.png\" />\n    <None Remove=\"Resources\\gem_12.png\" />\n    <None Remove=\"Resources\\gem_13.png\" />\n    <None Remove=\"Resources\\gem_14.png\" />\n    <None Remove=\"Resources\\gem_15.png\" />\n    <None Remove=\"Resources\\gem_16.png\" />\n    <None Remove=\"Resources\\gem_17.png\" />\n    <None Remove=\"Resources\\item_0645_hires.png\" />\n    <None Remove=\"Resources\\item_0795_hires.png\" />\n    <None Remove=\"Resources\\item_1606_hires.png\" />\n    <None Remove=\"Resources\\item_1904.png\" />\n    <None Remove=\"Resources\\item_1904_hires.png\" />\n    <None Remove=\"Resources\\item_1905.png\" />\n    <None Remove=\"Resources\\item_1905_hires.png\" />\n    <None Remove=\"Resources\\item_1906.png\" />\n    <None Remove=\"Resources\\item_1906_hires.png\" />\n    <None Remove=\"Resources\\item_1907.png\" />\n    <None Remove=\"Resources\\item_1907_hires.png\" />\n    <None Remove=\"Resources\\item_1908.png\" />\n    <None Remove=\"Resources\\item_1908_hires.png\" />\n    <None Remove=\"Resources\\lottery_reward_item_array\" />\n    <None Remove=\"Resources\\material.png\" />\n    <None Remove=\"Resources\\paldea.png\" />\n    <None Remove=\"Resources\\raid_enemy_array\" />\n    <None Remove=\"Resources\\shard.png\" />\n    <None Remove=\"Resources\\shiny-no-loop.gif\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <Content Include=\"Resources\\MightiestMark.ico\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <EmbeddedResource Include=\"Resources\\black_00.png\" />\n    <EmbeddedResource Include=\"Resources\\black_01.png\" />\n    <EmbeddedResource Include=\"Resources\\black_02.png\" />\n    <EmbeddedResource Include=\"Resources\\black_03.png\" />\n    <EmbeddedResource Include=\"Resources\\black_04.png\" />\n    <EmbeddedResource Include=\"Resources\\black_05.png\" />\n    <EmbeddedResource Include=\"Resources\\black_06.png\" />\n    <EmbeddedResource Include=\"Resources\\black_07.png\" />\n    <EmbeddedResource Include=\"Resources\\black_08.png\" />\n    <EmbeddedResource Include=\"Resources\\black_09.png\" />\n    <EmbeddedResource Include=\"Resources\\black_10.png\" />\n    <EmbeddedResource Include=\"Resources\\black_11.png\" />\n    <EmbeddedResource Include=\"Resources\\black_12.png\" />\n    <EmbeddedResource Include=\"Resources\\black_13.png\" />\n    <EmbeddedResource Include=\"Resources\\black_14.png\" />\n    <EmbeddedResource Include=\"Resources\\black_15.png\" />\n    <EmbeddedResource Include=\"Resources\\black_16.png\" />\n    <EmbeddedResource Include=\"Resources\\black_17.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-0.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-1.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-10.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-11.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-12.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-13.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-14.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-15.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-16.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-17.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-2.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-3.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-4.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-5.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-6.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-7.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-8.png\" />\n    <EmbeddedResource Include=\"Resources\\gem-text-9.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_00.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_01.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_02.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_03.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_04.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_05.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_06.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_07.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_08.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_09.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_10.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_11.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_12.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_13.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_14.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_15.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_16.png\" />\n    <EmbeddedResource Include=\"Resources\\gem_17.png\" />\n    <EmbeddedResource Include=\"Resources\\item_0645_hires.png\" />\n    <EmbeddedResource Include=\"Resources\\item_0795_hires.png\" />\n    <EmbeddedResource Include=\"Resources\\item_1606_hires.png\" />\n    <EmbeddedResource Include=\"Resources\\item_1904.png\" />\n    <EmbeddedResource Include=\"Resources\\item_1904_hires.png\" />\n    <EmbeddedResource Include=\"Resources\\item_1905.png\" />\n    <EmbeddedResource Include=\"Resources\\item_1905_hires.png\" />\n    <EmbeddedResource Include=\"Resources\\item_1906.png\" />\n    <EmbeddedResource Include=\"Resources\\item_1906_hires.png\" />\n    <EmbeddedResource Include=\"Resources\\item_1907.png\" />\n    <EmbeddedResource Include=\"Resources\\item_1907_hires.png\" />\n    <EmbeddedResource Include=\"Resources\\item_1908.png\" />\n    <EmbeddedResource Include=\"Resources\\item_1908_hires.png\" />\n    <EmbeddedResource Include=\"Resources\\material.png\" />\n    <EmbeddedResource Include=\"Resources\\shard.png\" />\n    <EmbeddedResource Include=\"Resources\\shiny-no-loop.gif\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"NLog\" Version=\"5.2.7\" />\n    <PackageReference Include=\"GitVersion.MsBuild\" Version=\"5.12.0\">\n    <PrivateAssets>all</PrivateAssets>\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n    </PackageReference>\n    <PackageReference Include=\"PKHeX.Core\" Version=\"25.6.9\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\RaidCrawler.Core\\RaidCrawler.Core.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <Reference Include=\"PKHeX.Drawing\">\n      <HintPath>deps\\PKHeX.Drawing.dll</HintPath>\n    </Reference>\n    <Reference Include=\"PKHeX.Drawing.Misc\">\n      <HintPath>deps\\PKHeX.Drawing.Misc.dll</HintPath>\n    </Reference>\n    <Reference Include=\"PKHeX.Drawing.PokeSprite\">\n      <HintPath>deps\\PKHeX.Drawing.PokeSprite.dll</HintPath>\n    </Reference>\n    <Reference Include=\"SysBot.Base\">\n      <HintPath>deps\\SysBot.Base.dll</HintPath>\n    </Reference>\n  </ItemGroup>\n\n  <ItemGroup>\n    <Compile Update=\"Properties\\Resources.Designer.cs\">\n      <DesignTime>True</DesignTime>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Resources.resx</DependentUpon>\n    </Compile>\n    <Compile Update=\"Properties\\Settings.Designer.cs\">\n      <DesignTimeSharedInput>True</DesignTimeSharedInput>\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Settings.settings</DependentUpon>\n    </Compile>\n  </ItemGroup>\n\n  <ItemGroup>\n    <EmbeddedResource Update=\"Properties\\Resources.resx\">\n      <Generator>ResXFileCodeGenerator</Generator>\n      <LastGenOutput>Resources.Designer.cs</LastGenOutput>\n    </EmbeddedResource>\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Update=\"Properties\\Settings.settings\">\n      <Generator>PublicSettingsSingleFileGenerator</Generator>\n      <LastGenOutput>Settings.Designer.cs</LastGenOutput>\n    </None>\n  </ItemGroup>\n\n</Project>"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/ConfigWindow.Designer.cs",
    "content": "﻿using SysBot.Base;\n\nnamespace RaidCrawler.WinForms.SubForms\n{\n    partial class ConfigWindow\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConfigWindow));\n            FocusWindow = new CheckBox();\n            EnableAlert = new CheckBox();\n            PlayTone = new CheckBox();\n            LabelMatchFound = new Label();\n            AlertMessage = new TextBox();\n            L_AdvanceDate = new Label();\n            L_BaseDelay = new Label();\n            SystemDDownPresses = new NumericUpDown();\n            L_DdownInput = new Label();\n            NavigateToSettings = new NumericUpDown();\n            OpenSettings = new NumericUpDown();\n            OpenHome = new NumericUpDown();\n            L_OpenHOME = new Label();\n            L_NavigateSettings = new Label();\n            L_OpenSettingsDelay = new Label();\n            L_ScrollSystem = new Label();\n            Hold = new NumericUpDown();\n            L_SubmenuDelay = new Label();\n            Submenu = new NumericUpDown();\n            L_DateChangeDelay = new Label();\n            DateChange = new NumericUpDown();\n            L_ReturnHomeDelay = new Label();\n            ReturnHome = new NumericUpDown();\n            L_ReOpenGameDelay = new Label();\n            ReturnGame = new NumericUpDown();\n            L_DaysToSkip = new Label();\n            DaysToSkip = new NumericUpDown();\n            UseTouch = new CheckBox();\n            DiscordWebhook = new TextBox();\n            EnableDiscordNotifications = new CheckBox();\n            label13 = new Label();\n            ExperimentalView = new CheckBox();\n            tabControl1 = new TabControl();\n            tabGeneral = new TabPage();\n            LocationGroup = new GroupBox();\n            KitakamiScanCheck = new CheckBox();\n            PaldeaScanCheck = new CheckBox();\n            Protocol_dropdown = new ComboBox();\n            Protocol_label = new Label();\n            label23 = new Label();\n            LabelEventProgress = new Label();\n            EventProgress = new ComboBox();\n            LabelGame = new Label();\n            Game = new ComboBox();\n            LabelStoryProgress = new Label();\n            StoryProgress = new ComboBox();\n            tabMatch = new TabPage();\n            tabAdvanceDate = new TabPage();\n            ZyroMethod = new CheckBox();\n            UseMapTrick = new CheckBox();\n            ExtraOverworldWait = new NumericUpDown();\n            L_ExtraOverworldWait = new Label();\n            RelaunchDelay = new NumericUpDown();\n            L_RelaunchDelay = new Label();\n            SystemReset = new NumericUpDown();\n            L_SystemReset = new Label();\n            UseSetStick = new CheckBox();\n            DodgeSystemUpdate = new CheckBox();\n            SaveGameDelay = new NumericUpDown();\n            L_SaveGame = new Label();\n            SaveGame = new CheckBox();\n            L_OvershootHold = new Label();\n            SystemOvershoot = new NumericUpDown();\n            UseOvershoot = new CheckBox();\n            BaseDelay = new NumericUpDown();\n            tabWebhook = new TabPage();\n            EmojiConfig = new Button();\n            labelWebhooks = new Label();\n            label21 = new Label();\n            DiscordMessageContent = new TextBox();\n            label14 = new Label();\n            btnTestWebHook = new Button();\n            denToggle = new CheckBox();\n            LocationSettings_label = new Label();\n            IVstyle = new ComboBox();\n            IVverbose = new CheckBox();\n            label19 = new Label();\n            label18 = new Label();\n            EnableEmoji = new CheckBox();\n            tabExperimental = new TabPage();\n            InstanceName = new TextBox();\n            label17 = new Label();\n            tabAbout = new TabPage();\n            linkLabel1 = new LinkLabel();\n            labelAppName = new Label();\n            picAppIcon = new PictureBox();\n            labelAppVersion = new Label();\n            BlueberryScanCheck = new CheckBox();\n            ((System.ComponentModel.ISupportInitialize)SystemDDownPresses).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)NavigateToSettings).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)OpenSettings).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)OpenHome).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)Hold).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)Submenu).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)DateChange).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)ReturnHome).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)ReturnGame).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)DaysToSkip).BeginInit();\n            tabControl1.SuspendLayout();\n            tabGeneral.SuspendLayout();\n            LocationGroup.SuspendLayout();\n            tabMatch.SuspendLayout();\n            tabAdvanceDate.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)ExtraOverworldWait).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)RelaunchDelay).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)SystemReset).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)SaveGameDelay).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)SystemOvershoot).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)BaseDelay).BeginInit();\n            tabWebhook.SuspendLayout();\n            tabExperimental.SuspendLayout();\n            tabAbout.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)picAppIcon).BeginInit();\n            SuspendLayout();\n            // \n            // FocusWindow\n            // \n            FocusWindow.AutoSize = true;\n            FocusWindow.Location = new Point(8, 44);\n            FocusWindow.Name = \"FocusWindow\";\n            FocusWindow.Size = new Size(123, 19);\n            FocusWindow.TabIndex = 1;\n            FocusWindow.Text = \"Focus RaidCrawler\";\n            FocusWindow.UseVisualStyleBackColor = true;\n            // \n            // EnableAlert\n            // \n            EnableAlert.AutoSize = true;\n            EnableAlert.Location = new Point(8, 65);\n            EnableAlert.Name = \"EnableAlert\";\n            EnableAlert.Size = new Size(293, 19);\n            EnableAlert.TabIndex = 2;\n            EnableAlert.Text = \"Show an alert window with the following message:\";\n            EnableAlert.UseVisualStyleBackColor = true;\n            EnableAlert.CheckedChanged += EnableAlert_CheckedChanged;\n            // \n            // PlayTone\n            // \n            PlayTone.AutoSize = true;\n            PlayTone.Location = new Point(8, 23);\n            PlayTone.Name = \"PlayTone\";\n            PlayTone.Size = new Size(84, 19);\n            PlayTone.TabIndex = 0;\n            PlayTone.Text = \"Play a tone\";\n            PlayTone.UseVisualStyleBackColor = true;\n            // \n            // LabelMatchFound\n            // \n            LabelMatchFound.AutoSize = true;\n            LabelMatchFound.Font = new Font(\"Segoe UI\", 9F, FontStyle.Bold);\n            LabelMatchFound.Location = new Point(6, 3);\n            LabelMatchFound.Name = \"LabelMatchFound\";\n            LabelMatchFound.Size = new Size(137, 15);\n            LabelMatchFound.TabIndex = 3;\n            LabelMatchFound.Text = \"When a match is found:\";\n            // \n            // AlertMessage\n            // \n            AlertMessage.Location = new Point(8, 84);\n            AlertMessage.Name = \"AlertMessage\";\n            AlertMessage.Size = new Size(357, 23);\n            AlertMessage.TabIndex = 4;\n            // \n            // L_AdvanceDate\n            // \n            L_AdvanceDate.AutoSize = true;\n            L_AdvanceDate.Font = new Font(\"Segoe UI\", 9F, FontStyle.Bold);\n            L_AdvanceDate.Location = new Point(6, 3);\n            L_AdvanceDate.Name = \"L_AdvanceDate\";\n            L_AdvanceDate.Size = new Size(233, 15);\n            L_AdvanceDate.TabIndex = 6;\n            L_AdvanceDate.Text = \"Advance Date Options (all timings in ms):\";\n            // \n            // L_BaseDelay\n            // \n            L_BaseDelay.AutoSize = true;\n            L_BaseDelay.Location = new Point(8, 178);\n            L_BaseDelay.Name = \"L_BaseDelay\";\n            L_BaseDelay.Size = new Size(196, 15);\n            L_BaseDelay.TabIndex = 8;\n            L_BaseDelay.Text = \"Base delay to be added to all inputs:\";\n            // \n            // SystemDDownPresses\n            // \n            SystemDDownPresses.Location = new Point(296, 321);\n            SystemDDownPresses.Maximum = new decimal(new int[] { 99, 0, 0, 0 });\n            SystemDDownPresses.Name = \"SystemDDownPresses\";\n            SystemDDownPresses.Size = new Size(68, 23);\n            SystemDDownPresses.TabIndex = 10;\n            SystemDDownPresses.Value = new decimal(new int[] { 38, 0, 0, 0 });\n            // \n            // L_DdownInput\n            // \n            L_DdownInput.AutoSize = true;\n            L_DdownInput.Location = new Point(8, 323);\n            L_DdownInput.Name = \"L_DdownInput\";\n            L_DdownInput.Size = new Size(228, 15);\n            L_DdownInput.TabIndex = 11;\n            L_DdownInput.Text = \"DDOWN inputs to get to \\\"Date and Time\\\":\";\n            // \n            // NavigateToSettings\n            // \n            NavigateToSettings.Location = new Point(296, 234);\n            NavigateToSettings.Maximum = new decimal(new int[] { 9999, 0, 0, 0 });\n            NavigateToSettings.Name = \"NavigateToSettings\";\n            NavigateToSettings.Size = new Size(68, 23);\n            NavigateToSettings.TabIndex = 16;\n            NavigateToSettings.Value = new decimal(new int[] { 100, 0, 0, 0 });\n            // \n            // OpenSettings\n            // \n            OpenSettings.Location = new Point(296, 263);\n            OpenSettings.Maximum = new decimal(new int[] { 9999, 0, 0, 0 });\n            OpenSettings.Name = \"OpenSettings\";\n            OpenSettings.Size = new Size(68, 23);\n            OpenSettings.TabIndex = 17;\n            OpenSettings.Value = new decimal(new int[] { 1000, 0, 0, 0 });\n            // \n            // OpenHome\n            // \n            OpenHome.Location = new Point(296, 205);\n            OpenHome.Maximum = new decimal(new int[] { 9999, 0, 0, 0 });\n            OpenHome.Name = \"OpenHome\";\n            OpenHome.Size = new Size(68, 23);\n            OpenHome.TabIndex = 18;\n            OpenHome.Value = new decimal(new int[] { 1800, 0, 0, 0 });\n            // \n            // L_OpenHOME\n            // \n            L_OpenHOME.AutoSize = true;\n            L_OpenHOME.Location = new Point(8, 207);\n            L_OpenHOME.Name = \"L_OpenHOME\";\n            L_OpenHOME.Size = new Size(140, 15);\n            L_OpenHOME.TabIndex = 19;\n            L_OpenHOME.Text = \"Open Home Menu delay:\";\n            // \n            // L_NavigateSettings\n            // \n            L_NavigateSettings.AutoSize = true;\n            L_NavigateSettings.Location = new Point(8, 236);\n            L_NavigateSettings.Name = \"L_NavigateSettings\";\n            L_NavigateSettings.Size = new Size(146, 15);\n            L_NavigateSettings.TabIndex = 20;\n            L_NavigateSettings.Text = \"Navigate to settings delay:\";\n            // \n            // L_OpenSettingsDelay\n            // \n            L_OpenSettingsDelay.AutoSize = true;\n            L_OpenSettingsDelay.Location = new Point(8, 265);\n            L_OpenSettingsDelay.Name = \"L_OpenSettingsDelay\";\n            L_OpenSettingsDelay.Size = new Size(114, 15);\n            L_OpenSettingsDelay.TabIndex = 21;\n            L_OpenSettingsDelay.Text = \"Open settings delay:\";\n            // \n            // L_ScrollSystem\n            // \n            L_ScrollSystem.AutoSize = true;\n            L_ScrollSystem.Location = new Point(8, 294);\n            L_ScrollSystem.Name = \"L_ScrollSystem\";\n            L_ScrollSystem.Size = new Size(187, 15);\n            L_ScrollSystem.TabIndex = 23;\n            L_ScrollSystem.Text = \"Time to hold to scroll to \\\"System\\\":\";\n            // \n            // Hold\n            // \n            Hold.Location = new Point(296, 292);\n            Hold.Maximum = new decimal(new int[] { 9999, 0, 0, 0 });\n            Hold.Name = \"Hold\";\n            Hold.Size = new Size(68, 23);\n            Hold.TabIndex = 22;\n            Hold.Value = new decimal(new int[] { 1700, 0, 0, 0 });\n            // \n            // L_SubmenuDelay\n            // \n            L_SubmenuDelay.AutoSize = true;\n            L_SubmenuDelay.Location = new Point(8, 352);\n            L_SubmenuDelay.Name = \"L_SubmenuDelay\";\n            L_SubmenuDelay.Size = new Size(123, 15);\n            L_SubmenuDelay.TabIndex = 25;\n            L_SubmenuDelay.Text = \"Open submenu delay:\";\n            // \n            // Submenu\n            // \n            Submenu.Location = new Point(296, 350);\n            Submenu.Maximum = new decimal(new int[] { 9999, 0, 0, 0 });\n            Submenu.Name = \"Submenu\";\n            Submenu.Size = new Size(68, 23);\n            Submenu.TabIndex = 24;\n            Submenu.Value = new decimal(new int[] { 800, 0, 0, 0 });\n            // \n            // L_DateChangeDelay\n            // \n            L_DateChangeDelay.AutoSize = true;\n            L_DateChangeDelay.Location = new Point(8, 381);\n            L_DateChangeDelay.Name = \"L_DateChangeDelay\";\n            L_DateChangeDelay.Size = new Size(138, 15);\n            L_DateChangeDelay.TabIndex = 27;\n            L_DateChangeDelay.Text = \"Open date change delay:\";\n            // \n            // DateChange\n            // \n            DateChange.Location = new Point(296, 379);\n            DateChange.Maximum = new decimal(new int[] { 9999, 0, 0, 0 });\n            DateChange.Name = \"DateChange\";\n            DateChange.Size = new Size(68, 23);\n            DateChange.TabIndex = 26;\n            DateChange.Value = new decimal(new int[] { 500, 0, 0, 0 });\n            // \n            // L_ReturnHomeDelay\n            // \n            L_ReturnHomeDelay.AutoSize = true;\n            L_ReturnHomeDelay.Location = new Point(8, 439);\n            L_ReturnHomeDelay.Name = \"L_ReturnHomeDelay\";\n            L_ReturnHomeDelay.Size = new Size(160, 15);\n            L_ReturnHomeDelay.TabIndex = 29;\n            L_ReturnHomeDelay.Text = \"Return to Home Menu delay:\";\n            // \n            // ReturnHome\n            // \n            ReturnHome.Location = new Point(296, 437);\n            ReturnHome.Maximum = new decimal(new int[] { 9999, 0, 0, 0 });\n            ReturnHome.Name = \"ReturnHome\";\n            ReturnHome.Size = new Size(68, 23);\n            ReturnHome.TabIndex = 28;\n            ReturnHome.Value = new decimal(new int[] { 2500, 0, 0, 0 });\n            // \n            // L_ReOpenGameDelay\n            // \n            L_ReOpenGameDelay.AutoSize = true;\n            L_ReOpenGameDelay.Location = new Point(8, 468);\n            L_ReOpenGameDelay.Name = \"L_ReOpenGameDelay\";\n            L_ReOpenGameDelay.Size = new Size(119, 15);\n            L_ReOpenGameDelay.TabIndex = 31;\n            L_ReOpenGameDelay.Text = \"Re-open game delay:\";\n            // \n            // ReturnGame\n            // \n            ReturnGame.Location = new Point(296, 466);\n            ReturnGame.Maximum = new decimal(new int[] { 9999, 0, 0, 0 });\n            ReturnGame.Name = \"ReturnGame\";\n            ReturnGame.Size = new Size(68, 23);\n            ReturnGame.TabIndex = 30;\n            ReturnGame.Value = new decimal(new int[] { 4000, 0, 0, 0 });\n            // \n            // L_DaysToSkip\n            // \n            L_DaysToSkip.AutoSize = true;\n            L_DaysToSkip.Location = new Point(8, 410);\n            L_DaysToSkip.Name = \"L_DaysToSkip\";\n            L_DaysToSkip.Size = new Size(179, 15);\n            L_DaysToSkip.TabIndex = 33;\n            L_DaysToSkip.Text = \"Number of days/months to skip:\";\n            // \n            // DaysToSkip\n            // \n            DaysToSkip.Location = new Point(296, 408);\n            DaysToSkip.Maximum = new decimal(new int[] { 99, 0, 0, 0 });\n            DaysToSkip.Name = \"DaysToSkip\";\n            DaysToSkip.Size = new Size(68, 23);\n            DaysToSkip.TabIndex = 32;\n            // \n            // UseTouch\n            // \n            UseTouch.AutoSize = true;\n            UseTouch.Location = new Point(8, 61);\n            UseTouch.Name = \"UseTouch\";\n            UseTouch.Size = new Size(267, 19);\n            UseTouch.TabIndex = 36;\n            UseTouch.Text = \"Use touch screen inputs (faster, experimental)\";\n            UseTouch.UseVisualStyleBackColor = true;\n            // \n            // DiscordWebhook\n            // \n            DiscordWebhook.Location = new Point(8, 138);\n            DiscordWebhook.Name = \"DiscordWebhook\";\n            DiscordWebhook.Size = new Size(357, 23);\n            DiscordWebhook.TabIndex = 37;\n            // \n            // EnableDiscordNotifications\n            // \n            EnableDiscordNotifications.AutoSize = true;\n            EnableDiscordNotifications.Location = new Point(8, 118);\n            EnableDiscordNotifications.Name = \"EnableDiscordNotifications\";\n            EnableDiscordNotifications.Size = new Size(303, 19);\n            EnableDiscordNotifications.TabIndex = 38;\n            EnableDiscordNotifications.Text = \"Send alerts to Discord webhooks (comma separated)\";\n            EnableDiscordNotifications.UseVisualStyleBackColor = true;\n            EnableDiscordNotifications.Click += EnableDiscordNotifications_Click;\n            // \n            // label13\n            // \n            label13.AutoSize = true;\n            label13.Font = new Font(\"Segoe UI\", 9F, FontStyle.Bold);\n            label13.Location = new Point(6, 3);\n            label13.Name = \"label13\";\n            label13.Size = new Size(84, 15);\n            label13.TabIndex = 39;\n            label13.Text = \"Experimental:\";\n            // \n            // ExperimentalView\n            // \n            ExperimentalView.AutoSize = true;\n            ExperimentalView.Location = new Point(8, 23);\n            ExperimentalView.Name = \"ExperimentalView\";\n            ExperimentalView.Size = new Size(189, 19);\n            ExperimentalView.TabIndex = 40;\n            ExperimentalView.Text = \"Toggle Streamer Tera Raid View\";\n            ExperimentalView.UseVisualStyleBackColor = true;\n            ExperimentalView.Click += StreamerView_Clicked;\n            // \n            // tabControl1\n            // \n            tabControl1.Controls.Add(tabGeneral);\n            tabControl1.Controls.Add(tabMatch);\n            tabControl1.Controls.Add(tabAdvanceDate);\n            tabControl1.Controls.Add(tabWebhook);\n            tabControl1.Controls.Add(tabExperimental);\n            tabControl1.Controls.Add(tabAbout);\n            tabControl1.Dock = DockStyle.Fill;\n            tabControl1.Location = new Point(0, 0);\n            tabControl1.Name = \"tabControl1\";\n            tabControl1.SelectedIndex = 0;\n            tabControl1.Size = new Size(380, 668);\n            tabControl1.TabIndex = 41;\n            // \n            // tabGeneral\n            // \n            tabGeneral.Controls.Add(LocationGroup);\n            tabGeneral.Controls.Add(Protocol_dropdown);\n            tabGeneral.Controls.Add(Protocol_label);\n            tabGeneral.Controls.Add(label23);\n            tabGeneral.Controls.Add(LabelEventProgress);\n            tabGeneral.Controls.Add(EventProgress);\n            tabGeneral.Controls.Add(LabelGame);\n            tabGeneral.Controls.Add(Game);\n            tabGeneral.Controls.Add(LabelStoryProgress);\n            tabGeneral.Controls.Add(StoryProgress);\n            tabGeneral.Location = new Point(4, 24);\n            tabGeneral.Name = \"tabGeneral\";\n            tabGeneral.Padding = new Padding(3);\n            tabGeneral.Size = new Size(372, 640);\n            tabGeneral.TabIndex = 5;\n            tabGeneral.Text = \"General\";\n            tabGeneral.UseVisualStyleBackColor = true;\n            // \n            // LocationGroup\n            // \n            LocationGroup.Controls.Add(BlueberryScanCheck);\n            LocationGroup.Controls.Add(KitakamiScanCheck);\n            LocationGroup.Controls.Add(PaldeaScanCheck);\n            LocationGroup.Location = new Point(8, 137);\n            LocationGroup.Name = \"LocationGroup\";\n            LocationGroup.Size = new Size(200, 93);\n            LocationGroup.TabIndex = 115;\n            LocationGroup.TabStop = false;\n            LocationGroup.Text = \"Scan Locations\";\n            // \n            // KitakamiScanCheck\n            // \n            KitakamiScanCheck.AutoSize = true;\n            KitakamiScanCheck.Checked = true;\n            KitakamiScanCheck.CheckState = CheckState.Checked;\n            KitakamiScanCheck.Location = new Point(6, 47);\n            KitakamiScanCheck.Name = \"KitakamiScanCheck\";\n            KitakamiScanCheck.Size = new Size(72, 19);\n            KitakamiScanCheck.TabIndex = 113;\n            KitakamiScanCheck.Text = \"Kitakami\";\n            KitakamiScanCheck.UseVisualStyleBackColor = true;\n            // \n            // PaldeaScanCheck\n            // \n            PaldeaScanCheck.AutoSize = true;\n            PaldeaScanCheck.Checked = true;\n            PaldeaScanCheck.CheckState = CheckState.Checked;\n            PaldeaScanCheck.Location = new Point(6, 22);\n            PaldeaScanCheck.Name = \"PaldeaScanCheck\";\n            PaldeaScanCheck.Size = new Size(61, 19);\n            PaldeaScanCheck.TabIndex = 112;\n            PaldeaScanCheck.Text = \"Paldea\";\n            PaldeaScanCheck.UseVisualStyleBackColor = true;\n            // \n            // Protocol_dropdown\n            // \n            Protocol_dropdown.FormattingEnabled = true;\n            Protocol_dropdown.Items.AddRange(new object[] { SwitchProtocol.WiFi, SwitchProtocol.USB });\n            Protocol_dropdown.Location = new Point(159, 108);\n            Protocol_dropdown.MaxDropDownItems = 2;\n            Protocol_dropdown.Name = \"Protocol_dropdown\";\n            Protocol_dropdown.Size = new Size(48, 23);\n            Protocol_dropdown.TabIndex = 111;\n            Protocol_dropdown.Text = \"w\";\n            Protocol_dropdown.SelectedValueChanged += Protocol_Changed;\n            // \n            // Protocol_label\n            // \n            Protocol_label.AutoSize = true;\n            Protocol_label.Location = new Point(7, 111);\n            Protocol_label.Name = \"Protocol_label\";\n            Protocol_label.Size = new Size(120, 15);\n            Protocol_label.TabIndex = 110;\n            Protocol_label.Text = \"Connection Protocol:\";\n            // \n            // label23\n            // \n            label23.AutoSize = true;\n            label23.Font = new Font(\"Segoe UI\", 9F, FontStyle.Bold);\n            label23.Location = new Point(6, 3);\n            label23.Name = \"label23\";\n            label23.Size = new Size(118, 15);\n            label23.TabIndex = 109;\n            label23.Text = \"Application Settings\";\n            // \n            // LabelEventProgress\n            // \n            LabelEventProgress.AutoSize = true;\n            LabelEventProgress.Location = new Point(7, 83);\n            LabelEventProgress.Name = \"LabelEventProgress\";\n            LabelEventProgress.Size = new Size(117, 15);\n            LabelEventProgress.TabIndex = 108;\n            LabelEventProgress.Text = \"Event Progress Level:\";\n            // \n            // EventProgress\n            // \n            EventProgress.FormattingEnabled = true;\n            EventProgress.Items.AddRange(new object[] { \"1\", \"2\", \"3\", \"4\" });\n            EventProgress.Location = new Point(159, 80);\n            EventProgress.Name = \"EventProgress\";\n            EventProgress.Size = new Size(48, 23);\n            EventProgress.TabIndex = 107;\n            EventProgress.Text = \"w\";\n            // \n            // LabelGame\n            // \n            LabelGame.AutoSize = true;\n            LabelGame.Location = new Point(8, 28);\n            LabelGame.Name = \"LabelGame\";\n            LabelGame.Size = new Size(41, 15);\n            LabelGame.TabIndex = 106;\n            LabelGame.Text = \"Game:\";\n            // \n            // Game\n            // \n            Game.FormattingEnabled = true;\n            Game.Items.AddRange(new object[] { \"Scarlet\", \"Violet\" });\n            Game.Location = new Point(111, 25);\n            Game.Name = \"Game\";\n            Game.Size = new Size(96, 23);\n            Game.TabIndex = 105;\n            Game.Text = \"w\";\n            Game.SelectedIndexChanged += Game_SelectedIndexChanged;\n            // \n            // LabelStoryProgress\n            // \n            LabelStoryProgress.AutoSize = true;\n            LabelStoryProgress.Location = new Point(8, 55);\n            LabelStoryProgress.Name = \"LabelStoryProgress\";\n            LabelStoryProgress.Size = new Size(115, 15);\n            LabelStoryProgress.TabIndex = 104;\n            LabelStoryProgress.Text = \"Story Progress Level:\";\n            // \n            // StoryProgress\n            // \n            StoryProgress.FormattingEnabled = true;\n            StoryProgress.Items.AddRange(new object[] { \"1\", \"2\", \"3\", \"4\", \"5\" });\n            StoryProgress.Location = new Point(159, 52);\n            StoryProgress.Name = \"StoryProgress\";\n            StoryProgress.Size = new Size(48, 23);\n            StoryProgress.TabIndex = 103;\n            StoryProgress.Text = \"w\";\n            // \n            // tabMatch\n            // \n            tabMatch.Controls.Add(LabelMatchFound);\n            tabMatch.Controls.Add(FocusWindow);\n            tabMatch.Controls.Add(EnableAlert);\n            tabMatch.Controls.Add(EnableDiscordNotifications);\n            tabMatch.Controls.Add(PlayTone);\n            tabMatch.Controls.Add(DiscordWebhook);\n            tabMatch.Controls.Add(AlertMessage);\n            tabMatch.Location = new Point(4, 24);\n            tabMatch.Name = \"tabMatch\";\n            tabMatch.Padding = new Padding(3);\n            tabMatch.Size = new Size(372, 640);\n            tabMatch.TabIndex = 0;\n            tabMatch.Text = \"Match\";\n            tabMatch.UseVisualStyleBackColor = true;\n            // \n            // tabAdvanceDate\n            // \n            tabAdvanceDate.Controls.Add(ZyroMethod);\n            tabAdvanceDate.Controls.Add(UseMapTrick);\n            tabAdvanceDate.Controls.Add(ExtraOverworldWait);\n            tabAdvanceDate.Controls.Add(L_ExtraOverworldWait);\n            tabAdvanceDate.Controls.Add(RelaunchDelay);\n            tabAdvanceDate.Controls.Add(L_RelaunchDelay);\n            tabAdvanceDate.Controls.Add(SystemReset);\n            tabAdvanceDate.Controls.Add(L_SystemReset);\n            tabAdvanceDate.Controls.Add(UseSetStick);\n            tabAdvanceDate.Controls.Add(DodgeSystemUpdate);\n            tabAdvanceDate.Controls.Add(SaveGameDelay);\n            tabAdvanceDate.Controls.Add(L_SaveGame);\n            tabAdvanceDate.Controls.Add(SaveGame);\n            tabAdvanceDate.Controls.Add(L_OvershootHold);\n            tabAdvanceDate.Controls.Add(SystemOvershoot);\n            tabAdvanceDate.Controls.Add(UseOvershoot);\n            tabAdvanceDate.Controls.Add(L_AdvanceDate);\n            tabAdvanceDate.Controls.Add(L_BaseDelay);\n            tabAdvanceDate.Controls.Add(UseTouch);\n            tabAdvanceDate.Controls.Add(SystemDDownPresses);\n            tabAdvanceDate.Controls.Add(L_DdownInput);\n            tabAdvanceDate.Controls.Add(L_DaysToSkip);\n            tabAdvanceDate.Controls.Add(NavigateToSettings);\n            tabAdvanceDate.Controls.Add(DaysToSkip);\n            tabAdvanceDate.Controls.Add(OpenSettings);\n            tabAdvanceDate.Controls.Add(L_ReOpenGameDelay);\n            tabAdvanceDate.Controls.Add(OpenHome);\n            tabAdvanceDate.Controls.Add(ReturnGame);\n            tabAdvanceDate.Controls.Add(L_OpenHOME);\n            tabAdvanceDate.Controls.Add(L_ReturnHomeDelay);\n            tabAdvanceDate.Controls.Add(L_NavigateSettings);\n            tabAdvanceDate.Controls.Add(ReturnHome);\n            tabAdvanceDate.Controls.Add(L_OpenSettingsDelay);\n            tabAdvanceDate.Controls.Add(L_DateChangeDelay);\n            tabAdvanceDate.Controls.Add(Hold);\n            tabAdvanceDate.Controls.Add(DateChange);\n            tabAdvanceDate.Controls.Add(L_ScrollSystem);\n            tabAdvanceDate.Controls.Add(L_SubmenuDelay);\n            tabAdvanceDate.Controls.Add(Submenu);\n            tabAdvanceDate.Controls.Add(BaseDelay);\n            tabAdvanceDate.Location = new Point(4, 24);\n            tabAdvanceDate.Name = \"tabAdvanceDate\";\n            tabAdvanceDate.Padding = new Padding(3);\n            tabAdvanceDate.Size = new Size(372, 640);\n            tabAdvanceDate.TabIndex = 1;\n            tabAdvanceDate.Text = \"Advance Date\";\n            tabAdvanceDate.UseVisualStyleBackColor = true;\n            // \n            // ZyroMethod\n            // \n            ZyroMethod.AutoSize = true;\n            ZyroMethod.Location = new Point(8, 21);\n            ZyroMethod.Name = \"ZyroMethod\";\n            ZyroMethod.Size = new Size(332, 19);\n            ZyroMethod.TabIndex = 53;\n            ZyroMethod.Text = \"Use Zyro's usb-botbase fork methods (approx. 4-5x faster)\";\n            ZyroMethod.UseVisualStyleBackColor = true;\n            // \n            // UseMapTrick\n            // \n            UseMapTrick.AutoSize = true;\n            UseMapTrick.Location = new Point(8, 41);\n            UseMapTrick.Name = \"UseMapTrick\";\n            UseMapTrick.Size = new Size(164, 19);\n            UseMapTrick.TabIndex = 52;\n            UseMapTrick.Text = \"Use Map Trick to avoid lag\";\n            UseMapTrick.UseVisualStyleBackColor = true;\n            // \n            // ExtraOverworldWait\n            // \n            ExtraOverworldWait.Location = new Point(296, 555);\n            ExtraOverworldWait.Maximum = new decimal(new int[] { 1000000, 0, 0, 0 });\n            ExtraOverworldWait.Name = \"ExtraOverworldWait\";\n            ExtraOverworldWait.Size = new Size(68, 23);\n            ExtraOverworldWait.TabIndex = 51;\n            // \n            // L_ExtraOverworldWait\n            // \n            L_ExtraOverworldWait.AutoSize = true;\n            L_ExtraOverworldWait.Location = new Point(8, 557);\n            L_ExtraOverworldWait.Name = \"L_ExtraOverworldWait\";\n            L_ExtraOverworldWait.Size = new Size(218, 15);\n            L_ExtraOverworldWait.TabIndex = 50;\n            L_ExtraOverworldWait.Text = \"Extra time to wait for Overworld to load:\";\n            L_ExtraOverworldWait.UseMnemonic = false;\n            // \n            // RelaunchDelay\n            // \n            RelaunchDelay.Location = new Point(296, 525);\n            RelaunchDelay.Maximum = new decimal(new int[] { 20000, 0, 0, 0 });\n            RelaunchDelay.Name = \"RelaunchDelay\";\n            RelaunchDelay.Size = new Size(68, 23);\n            RelaunchDelay.TabIndex = 49;\n            // \n            // L_RelaunchDelay\n            // \n            L_RelaunchDelay.AutoSize = true;\n            L_RelaunchDelay.Location = new Point(8, 527);\n            L_RelaunchDelay.Name = \"L_RelaunchDelay\";\n            L_RelaunchDelay.Size = new Size(198, 15);\n            L_RelaunchDelay.TabIndex = 48;\n            L_RelaunchDelay.Text = \"Extra time to wait to relaunch game:\";\n            // \n            // SystemReset\n            // \n            SystemReset.Location = new Point(296, 495);\n            SystemReset.Maximum = new decimal(new int[] { 2000, 0, 0, 0 });\n            SystemReset.Minimum = new decimal(new int[] { 1, 0, 0, 0 });\n            SystemReset.Name = \"SystemReset\";\n            SystemReset.Size = new Size(68, 23);\n            SystemReset.TabIndex = 47;\n            SystemReset.Value = new decimal(new int[] { 30, 0, 0, 0 });\n            // \n            // L_SystemReset\n            // \n            L_SystemReset.AutoSize = true;\n            L_SystemReset.Location = new Point(8, 497);\n            L_SystemReset.Name = \"L_SystemReset\";\n            L_SystemReset.Size = new Size(203, 15);\n            L_SystemReset.TabIndex = 46;\n            L_SystemReset.Text = \"Relaunch game after this many skips:\";\n            // \n            // UseSetStick\n            // \n            UseSetStick.AutoSize = true;\n            UseSetStick.Location = new Point(8, 145);\n            UseSetStick.Name = \"UseSetStick\";\n            UseSetStick.Size = new Size(222, 19);\n            UseSetStick.TabIndex = 45;\n            UseSetStick.Text = \"Use SetStick instead of PressAndHold\";\n            UseSetStick.UseVisualStyleBackColor = true;\n            UseSetStick.CheckedChanged += UseSetStick_CheckedChanged;\n            // \n            // DodgeSystemUpdate\n            // \n            DodgeSystemUpdate.AutoSize = true;\n            DodgeSystemUpdate.Location = new Point(8, 124);\n            DodgeSystemUpdate.Name = \"DodgeSystemUpdate\";\n            DodgeSystemUpdate.Size = new Size(184, 19);\n            DodgeSystemUpdate.TabIndex = 44;\n            DodgeSystemUpdate.Text = \"Dodge system update prompt\";\n            DodgeSystemUpdate.UseVisualStyleBackColor = true;\n            // \n            // SaveGameDelay\n            // \n            SaveGameDelay.Location = new Point(296, 614);\n            SaveGameDelay.Name = \"SaveGameDelay\";\n            SaveGameDelay.Size = new Size(68, 23);\n            SaveGameDelay.TabIndex = 43;\n            // \n            // L_SaveGame\n            // \n            L_SaveGame.AutoSize = true;\n            L_SaveGame.Location = new Point(8, 616);\n            L_SaveGame.Name = \"L_SaveGame\";\n            L_SaveGame.Size = new Size(186, 15);\n            L_SaveGame.TabIndex = 42;\n            L_SaveGame.Text = \"Time to wait for the game to save:\";\n            // \n            // SaveGame\n            // \n            SaveGame.AutoSize = true;\n            SaveGame.Location = new Point(8, 103);\n            SaveGame.Name = \"SaveGame\";\n            SaveGame.Size = new Size(164, 19);\n            SaveGame.TabIndex = 41;\n            SaveGame.Text = \"Save game on filter match\";\n            SaveGame.UseVisualStyleBackColor = true;\n            SaveGame.CheckedChanged += SaveGame_CheckedChanged;\n            // \n            // L_OvershootHold\n            // \n            L_OvershootHold.AutoSize = true;\n            L_OvershootHold.Location = new Point(8, 587);\n            L_OvershootHold.Name = \"L_OvershootHold\";\n            L_OvershootHold.Size = new Size(236, 15);\n            L_OvershootHold.TabIndex = 40;\n            L_OvershootHold.Text = \"Time to hold to overshoot \\\"Date and Time\\\":\";\n            // \n            // SystemOvershoot\n            // \n            SystemOvershoot.Location = new Point(296, 585);\n            SystemOvershoot.Maximum = new decimal(new int[] { 1200, 0, 0, 0 });\n            SystemOvershoot.Name = \"SystemOvershoot\";\n            SystemOvershoot.Size = new Size(68, 23);\n            SystemOvershoot.TabIndex = 39;\n            SystemOvershoot.Value = new decimal(new int[] { 950, 0, 0, 0 });\n            // \n            // UseOvershoot\n            // \n            UseOvershoot.AutoSize = true;\n            UseOvershoot.Location = new Point(8, 82);\n            UseOvershoot.Name = \"UseOvershoot\";\n            UseOvershoot.Size = new Size(355, 19);\n            UseOvershoot.TabIndex = 38;\n            UseOvershoot.Text = \"Use overshoot instead of DDOWN inputs (faster, experimental)\";\n            UseOvershoot.UseVisualStyleBackColor = true;\n            UseOvershoot.CheckedChanged += UseOvershoot_CheckedChanged;\n            // \n            // BaseDelay\n            // \n            BaseDelay.Location = new Point(296, 176);\n            BaseDelay.Maximum = new decimal(new int[] { 9999, 0, 0, 0 });\n            BaseDelay.Name = \"BaseDelay\";\n            BaseDelay.Size = new Size(68, 23);\n            BaseDelay.TabIndex = 9;\n            // \n            // tabWebhook\n            // \n            tabWebhook.Controls.Add(EmojiConfig);\n            tabWebhook.Controls.Add(labelWebhooks);\n            tabWebhook.Controls.Add(label21);\n            tabWebhook.Controls.Add(DiscordMessageContent);\n            tabWebhook.Controls.Add(label14);\n            tabWebhook.Controls.Add(btnTestWebHook);\n            tabWebhook.Controls.Add(denToggle);\n            tabWebhook.Controls.Add(LocationSettings_label);\n            tabWebhook.Controls.Add(IVstyle);\n            tabWebhook.Controls.Add(IVverbose);\n            tabWebhook.Controls.Add(label19);\n            tabWebhook.Controls.Add(label18);\n            tabWebhook.Controls.Add(EnableEmoji);\n            tabWebhook.Location = new Point(4, 24);\n            tabWebhook.Name = \"tabWebhook\";\n            tabWebhook.Size = new Size(372, 640);\n            tabWebhook.TabIndex = 3;\n            tabWebhook.Text = \"Webhook\";\n            tabWebhook.UseVisualStyleBackColor = true;\n            // \n            // EmojiConfig\n            // \n            EmojiConfig.Location = new Point(7, 94);\n            EmojiConfig.Name = \"EmojiConfig\";\n            EmojiConfig.Size = new Size(100, 23);\n            EmojiConfig.TabIndex = 46;\n            EmojiConfig.Text = \"Emoji Config\";\n            EmojiConfig.UseVisualStyleBackColor = true;\n            EmojiConfig.Click += EmojiConfig_Click;\n            // \n            // labelWebhooks\n            // \n            labelWebhooks.AutoSize = true;\n            labelWebhooks.Location = new Point(10, 618);\n            labelWebhooks.Name = \"labelWebhooks\";\n            labelWebhooks.Size = new Size(85, 15);\n            labelWebhooks.TabIndex = 44;\n            labelWebhooks.Text = \"Webhooks are \";\n            // \n            // label21\n            // \n            label21.AutoSize = true;\n            label21.Font = new Font(\"Segoe UI\", 9F, FontStyle.Bold);\n            label21.Location = new Point(8, 3);\n            label21.Name = \"label21\";\n            label21.Size = new Size(100, 15);\n            label21.TabIndex = 43;\n            label21.Text = \"General Settings\";\n            // \n            // DiscordMessageContent\n            // \n            DiscordMessageContent.Location = new Point(7, 40);\n            DiscordMessageContent.Name = \"DiscordMessageContent\";\n            DiscordMessageContent.Size = new Size(357, 23);\n            DiscordMessageContent.TabIndex = 42;\n            // \n            // label14\n            // \n            label14.AutoSize = true;\n            label14.Location = new Point(7, 22);\n            label14.Name = \"label14\";\n            label14.Size = new Size(285, 15);\n            label14.TabIndex = 41;\n            label14.Text = \"Message Content (ping with <@numerical_user_id>)\";\n            // \n            // btnTestWebHook\n            // \n            btnTestWebHook.Location = new Point(260, 614);\n            btnTestWebHook.Name = \"btnTestWebHook\";\n            btnTestWebHook.Size = new Size(104, 23);\n            btnTestWebHook.TabIndex = 22;\n            btnTestWebHook.Text = \"Test Webhook\";\n            btnTestWebHook.UseVisualStyleBackColor = true;\n            btnTestWebHook.Click += BtnTestWebHook_Click;\n            // \n            // denToggle\n            // \n            denToggle.AutoSize = true;\n            denToggle.Checked = true;\n            denToggle.CheckState = CheckState.Checked;\n            denToggle.Location = new Point(8, 249);\n            denToggle.Name = \"denToggle\";\n            denToggle.Size = new Size(79, 19);\n            denToggle.TabIndex = 21;\n            denToggle.Text = \"Show Den\";\n            denToggle.UseVisualStyleBackColor = true;\n            // \n            // LocationSettings_label\n            // \n            LocationSettings_label.AutoSize = true;\n            LocationSettings_label.Font = new Font(\"Segoe UI\", 9F, FontStyle.Bold);\n            LocationSettings_label.Location = new Point(7, 231);\n            LocationSettings_label.Name = \"LocationSettings_label\";\n            LocationSettings_label.Size = new Size(103, 15);\n            LocationSettings_label.TabIndex = 20;\n            LocationSettings_label.Text = \"Location Settings\";\n            // \n            // IVstyle\n            // \n            IVstyle.FormattingEnabled = true;\n            IVstyle.Items.AddRange(new object[] { \"Emoji\", \"Highlighted Numerical\", \"Numerical\" });\n            IVstyle.Location = new Point(8, 196);\n            IVstyle.Name = \"IVstyle\";\n            IVstyle.Size = new Size(121, 23);\n            IVstyle.TabIndex = 8;\n            // \n            // IVverbose\n            // \n            IVverbose.AutoSize = true;\n            IVverbose.Location = new Point(8, 147);\n            IVverbose.Name = \"IVverbose\";\n            IVverbose.Size = new Size(85, 19);\n            IVverbose.TabIndex = 5;\n            IVverbose.Text = \"Verbose IVs\";\n            IVverbose.UseVisualStyleBackColor = true;\n            // \n            // label19\n            // \n            label19.AutoSize = true;\n            label19.Font = new Font(\"Segoe UI\", 9F, FontStyle.Bold);\n            label19.Location = new Point(7, 178);\n            label19.Name = \"label19\";\n            label19.Size = new Size(48, 15);\n            label19.TabIndex = 2;\n            label19.Text = \"IV style\";\n            // \n            // label18\n            // \n            label18.AutoSize = true;\n            label18.Font = new Font(\"Segoe UI\", 9F, FontStyle.Bold);\n            label18.Location = new Point(7, 129);\n            label18.Name = \"label18\";\n            label18.Size = new Size(68, 15);\n            label18.TabIndex = 1;\n            label18.Text = \"IV Settings\";\n            // \n            // EnableEmoji\n            // \n            EnableEmoji.AutoSize = true;\n            EnableEmoji.Checked = true;\n            EnableEmoji.CheckState = CheckState.Checked;\n            EnableEmoji.Location = new Point(8, 69);\n            EnableEmoji.Name = \"EnableEmoji\";\n            EnableEmoji.Size = new Size(94, 19);\n            EnableEmoji.TabIndex = 0;\n            EnableEmoji.Text = \"Enable Emoji\";\n            EnableEmoji.UseVisualStyleBackColor = true;\n            // \n            // tabExperimental\n            // \n            tabExperimental.Controls.Add(InstanceName);\n            tabExperimental.Controls.Add(label17);\n            tabExperimental.Controls.Add(label13);\n            tabExperimental.Controls.Add(ExperimentalView);\n            tabExperimental.Location = new Point(4, 24);\n            tabExperimental.Name = \"tabExperimental\";\n            tabExperimental.Padding = new Padding(3);\n            tabExperimental.Size = new Size(372, 640);\n            tabExperimental.TabIndex = 2;\n            tabExperimental.Text = \"Experimental\";\n            tabExperimental.UseVisualStyleBackColor = true;\n            // \n            // InstanceName\n            // \n            InstanceName.Location = new Point(6, 63);\n            InstanceName.Name = \"InstanceName\";\n            InstanceName.Size = new Size(358, 23);\n            InstanceName.TabIndex = 42;\n            // \n            // label17\n            // \n            label17.AutoSize = true;\n            label17.Location = new Point(6, 45);\n            label17.Name = \"label17\";\n            label17.Size = new Size(89, 15);\n            label17.TabIndex = 41;\n            label17.Text = \"Instance Name:\";\n            // \n            // tabAbout\n            // \n            tabAbout.Controls.Add(linkLabel1);\n            tabAbout.Controls.Add(labelAppName);\n            tabAbout.Controls.Add(picAppIcon);\n            tabAbout.Controls.Add(labelAppVersion);\n            tabAbout.Location = new Point(4, 24);\n            tabAbout.Name = \"tabAbout\";\n            tabAbout.Padding = new Padding(3);\n            tabAbout.Size = new Size(372, 640);\n            tabAbout.TabIndex = 4;\n            tabAbout.Text = \"About\";\n            tabAbout.UseVisualStyleBackColor = true;\n            // \n            // linkLabel1\n            // \n            linkLabel1.AutoSize = true;\n            linkLabel1.Location = new Point(55, 273);\n            linkLabel1.Name = \"linkLabel1\";\n            linkLabel1.Size = new Size(253, 15);\n            linkLabel1.TabIndex = 4;\n            linkLabel1.TabStop = true;\n            linkLabel1.Text = \"https://github.com/LegoFigure11/RaidCrawler\";\n            linkLabel1.LinkClicked += LinkLabel1_LinkClicked;\n            // \n            // labelAppName\n            // \n            labelAppName.AutoSize = true;\n            labelAppName.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold);\n            labelAppName.Location = new Point(135, 164);\n            labelAppName.Name = \"labelAppName\";\n            labelAppName.Size = new Size(119, 25);\n            labelAppName.TabIndex = 2;\n            labelAppName.Text = \"RaidCrawler\";\n            labelAppName.TextAlign = ContentAlignment.MiddleCenter;\n            // \n            // picAppIcon\n            // \n            picAppIcon.Image = (Image)resources.GetObject(\"picAppIcon.Image\");\n            picAppIcon.Location = new Point(106, 159);\n            picAppIcon.Name = \"picAppIcon\";\n            picAppIcon.Size = new Size(32, 32);\n            picAppIcon.TabIndex = 1;\n            picAppIcon.TabStop = false;\n            // \n            // labelAppVersion\n            // \n            labelAppVersion.AutoSize = true;\n            labelAppVersion.Location = new Point(155, 206);\n            labelAppVersion.Name = \"labelAppVersion\";\n            labelAppVersion.Size = new Size(78, 15);\n            labelAppVersion.TabIndex = 0;\n            labelAppVersion.Text = \"v0.0.0-000000\";\n            labelAppVersion.TextAlign = ContentAlignment.MiddleCenter;\n            // \n            // BlueberryScanCheck\n            // \n            BlueberryScanCheck.AutoSize = true;\n            BlueberryScanCheck.Checked = true;\n            BlueberryScanCheck.CheckState = CheckState.Checked;\n            BlueberryScanCheck.Location = new Point(6, 72);\n            BlueberryScanCheck.Name = \"BlueberryScanCheck\";\n            BlueberryScanCheck.Size = new Size(76, 19);\n            BlueberryScanCheck.TabIndex = 114;\n            BlueberryScanCheck.Text = \"Blueberry\";\n            BlueberryScanCheck.UseVisualStyleBackColor = true;\n            // \n            // ConfigWindow\n            // \n            AutoScaleDimensions = new SizeF(7F, 15F);\n            AutoScaleMode = AutoScaleMode.Font;\n            ClientSize = new Size(380, 668);\n            Controls.Add(tabControl1);\n            FormBorderStyle = FormBorderStyle.FixedDialog;\n            MaximizeBox = false;\n            Name = \"ConfigWindow\";\n            StartPosition = FormStartPosition.CenterParent;\n            Text = \"RaidCrawler Settings\";\n            FormClosing += Config_Closing;\n            ((System.ComponentModel.ISupportInitialize)SystemDDownPresses).EndInit();\n            ((System.ComponentModel.ISupportInitialize)NavigateToSettings).EndInit();\n            ((System.ComponentModel.ISupportInitialize)OpenSettings).EndInit();\n            ((System.ComponentModel.ISupportInitialize)OpenHome).EndInit();\n            ((System.ComponentModel.ISupportInitialize)Hold).EndInit();\n            ((System.ComponentModel.ISupportInitialize)Submenu).EndInit();\n            ((System.ComponentModel.ISupportInitialize)DateChange).EndInit();\n            ((System.ComponentModel.ISupportInitialize)ReturnHome).EndInit();\n            ((System.ComponentModel.ISupportInitialize)ReturnGame).EndInit();\n            ((System.ComponentModel.ISupportInitialize)DaysToSkip).EndInit();\n            tabControl1.ResumeLayout(false);\n            tabGeneral.ResumeLayout(false);\n            tabGeneral.PerformLayout();\n            LocationGroup.ResumeLayout(false);\n            LocationGroup.PerformLayout();\n            tabMatch.ResumeLayout(false);\n            tabMatch.PerformLayout();\n            tabAdvanceDate.ResumeLayout(false);\n            tabAdvanceDate.PerformLayout();\n            ((System.ComponentModel.ISupportInitialize)ExtraOverworldWait).EndInit();\n            ((System.ComponentModel.ISupportInitialize)RelaunchDelay).EndInit();\n            ((System.ComponentModel.ISupportInitialize)SystemReset).EndInit();\n            ((System.ComponentModel.ISupportInitialize)SaveGameDelay).EndInit();\n            ((System.ComponentModel.ISupportInitialize)SystemOvershoot).EndInit();\n            ((System.ComponentModel.ISupportInitialize)BaseDelay).EndInit();\n            tabWebhook.ResumeLayout(false);\n            tabWebhook.PerformLayout();\n            tabExperimental.ResumeLayout(false);\n            tabExperimental.PerformLayout();\n            tabAbout.ResumeLayout(false);\n            tabAbout.PerformLayout();\n            ((System.ComponentModel.ISupportInitialize)picAppIcon).EndInit();\n            ResumeLayout(false);\n        }\n\n        #endregion\n\n        private CheckBox FocusWindow;\n        private CheckBox EnableAlert;\n        private CheckBox PlayTone;\n        private Label LabelMatchFound;\n        private TextBox AlertMessage;\n        private Label L_AdvanceDate;\n        private Label L_BaseDelay;\n        private NumericUpDown SystemDDownPresses;\n        private Label L_DdownInput;\n        private NumericUpDown NavigateToSettings;\n        private NumericUpDown OpenSettings;\n        private NumericUpDown OpenHome;\n        private Label L_OpenHOME;\n        private Label L_NavigateSettings;\n        private Label L_OpenSettingsDelay;\n        private Label L_ScrollSystem;\n        private NumericUpDown Hold;\n        private Label L_SubmenuDelay;\n        private NumericUpDown Submenu;\n        private Label L_DateChangeDelay;\n        private NumericUpDown DateChange;\n        private Label L_ReturnHomeDelay;\n        private NumericUpDown ReturnHome;\n        private Label L_ReOpenGameDelay;\n        private NumericUpDown ReturnGame;\n        private Label L_DaysToSkip;\n        private NumericUpDown DaysToSkip;\n        private CheckBox UseTouch;\n        private TextBox DiscordWebhook;\n        private CheckBox EnableDiscordNotifications;\n        private Label label13;\n        private CheckBox ExperimentalView;\n        private TabControl tabControl1;\n        private TabPage tabMatch;\n        private TabPage tabAdvanceDate;\n        private TabPage tabExperimental;\n        private Label L_OvershootHold;\n        private NumericUpDown SystemOvershoot;\n        private CheckBox UseOvershoot;\n        private TextBox InstanceName;\n        private Label label17;\n        private TabPage tabWebhook;\n        private CheckBox EnableEmoji;\n        private Label label19;\n        private Label label18;\n        private ComboBox IVstyle;\n        private CheckBox IVverbose;\n        private CheckBox denToggle;\n        private Label LocationSettings_label;\n        private Button btnTestWebHook;\n        private Label label21;\n        private TextBox DiscordMessageContent;\n        private Label label14;\n        private Label labelWebhooks;\n        private TabPage tabAbout;\n        private Label labelAppVersion;\n        private LinkLabel linkLabel1;\n        private Label labelAppName;\n        private PictureBox picAppIcon;\n        private TabPage tabGeneral;\n        private Label label23;\n        private Label LabelEventProgress;\n        private ComboBox EventProgress;\n        private Label LabelGame;\n        private ComboBox Game;\n        private Label LabelStoryProgress;\n        private ComboBox StoryProgress;\n        private Button EmojiConfig;\n        private ComboBox Protocol_dropdown;\n        private Label Protocol_label;\n        private NumericUpDown BaseDelay;\n        private NumericUpDown SaveGameDelay;\n        private Label L_SaveGame;\n        private CheckBox SaveGame;\n        private CheckBox DodgeSystemUpdate;\n        private CheckBox UseSetStick;\n        private CheckBox PaldeaScanCheck;\n        private GroupBox LocationGroup;\n        private CheckBox KitakamiScanCheck;\n        private NumericUpDown SystemReset;\n        private Label L_SystemReset;\n        private NumericUpDown RelaunchDelay;\n        private Label L_RelaunchDelay;\n        private NumericUpDown ExtraOverworldWait;\n        private Label L_ExtraOverworldWait;\n        private CheckBox UseMapTrick;\n        private CheckBox ZyroMethod;\n        private CheckBox BlueberryScanCheck;\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/ConfigWindow.cs",
    "content": "using System.Text.Json;\n\nnamespace RaidCrawler.WinForms.SubForms;\n\npublic partial class ConfigWindow : Form\n{\n    private readonly ClientConfig c;\n\n    public ConfigWindow(ClientConfig c)\n    {\n        this.c = c;\n        var assembly = System.Reflection.Assembly.GetEntryAssembly();\n        var v = assembly?.GetName().Version!;\n        var gitVersionInformationType = assembly?.GetType(\"GitVersionInformation\");\n        var shaField = gitVersionInformationType?.GetField(\"ShortSha\");\n\n        InitializeComponent();\n\n        InstanceName.Text = c.InstanceName;\n        StoryProgress.SelectedIndex = c.Progress;\n        EventProgress.SelectedIndex = c.EventProgress;\n        Game.SelectedIndex = Game.FindString(c.Game);\n        Protocol_dropdown.SelectedIndex = (int)c.Protocol;\n\n        PlayTone.Checked = c.PlaySound;\n        FocusWindow.Checked = c.FocusWindow;\n        EnableAlert.Checked = c.EnableAlertWindow;\n        AlertMessage.Text = c.AlertWindowMessage;\n        AlertMessage.Enabled = EnableAlert.Checked;\n        EnableDiscordNotifications.Checked = c.EnableNotification;\n        DiscordWebhook.Text = c.DiscordWebhook;\n        DiscordWebhook.Enabled = EnableDiscordNotifications.Checked;\n        DiscordMessageContent.Text = c.DiscordMessageContent;\n        DiscordMessageContent.Enabled = EnableDiscordNotifications.Checked;\n\n        ZyroMethod.Checked = c.ZyroMethod;\n\n        UseTouch.Checked = c.UseTouch;\n        UseOvershoot.Checked = c.UseOvershoot;\n        SaveGame.Checked = c.SaveOnMatch;\n        DodgeSystemUpdate.Checked = c.DodgeSystemUpdate;\n        UseSetStick.Checked = c.UseSetStick;\n        UseMapTrick.Checked = c.UseMapTrick;\n\n        OpenHome.Value = c.OpenHomeDelay;\n        NavigateToSettings.Value = c.NavigateToSettingsDelay;\n        OpenSettings.Value = c.OpenSettingsDelay;\n        Hold.Value = c.HoldDuration;\n        SystemDDownPresses.Value = c.SystemDownPresses;\n        SystemOvershoot.Value = c.SystemOvershoot;\n        Submenu.Value = c.Submenu;\n        DateChange.Value = c.DateChange;\n        DaysToSkip.Value = c.DaysToSkip;\n        ReturnHome.Value = c.ReturnHomeDelay;\n        ReturnGame.Value = c.ReturnGameDelay;\n        BaseDelay.Value = c.BaseDelay;\n        SaveGameDelay.Value = c.SaveGameDelay;\n        SystemReset.Value = c.SystemReset;\n        RelaunchDelay.Value = c.RelaunchDelay;\n        ExtraOverworldWait.Value = c.ExtraOverworldWait;\n        PaldeaScanCheck.Checked = c.PaldeaScan;\n        KitakamiScanCheck.Checked = c.KitakamiScan;\n        BlueberryScanCheck.Checked = c.BlueberryScan;\n\n        SystemDDownPresses.Enabled = !UseOvershoot.Checked;\n        SystemOvershoot.Enabled = UseOvershoot.Checked;\n        SaveGameDelay.Enabled = SaveGame.Checked;\n\n        IVstyle.SelectedIndex = c.IVsStyle;\n        IVverbose.Checked = c.VerboseIVs;\n\n        denToggle.Checked = c.ToggleDen;\n\n        EnableEmoji.Checked = c.EnableEmoji;\n\n        ExperimentalView.Checked = c.StreamerView;\n\n        labelAppVersion.Text =\n            \"v\" + v.Major + \".\" + v.Minor + \".\" + v.Build + \"-\" + shaField?.GetValue(null);\n        labelAppVersion.Left = (tabAbout.Width - labelAppVersion.Width) / 2;\n        labelAppName.Left =\n            ((tabAbout.Width - labelAppName.Width) / 2) + (picAppIcon.Width / 2) + 2;\n        picAppIcon.Left = labelAppName.Left - picAppIcon.Width - 2;\n        linkLabel1.Left = (tabAbout.Width - linkLabel1.Width) / 2;\n\n        labelWebhooks.Text =\n            \"Webhooks are \" + (DiscordWebhook.Enabled ? \"enabled.\" : \"disabled.\");\n    }\n\n    private void EnableAlert_CheckedChanged(object sender, EventArgs e)\n    {\n        AlertMessage.Enabled = EnableAlert.Checked;\n    }\n\n    private void EnableDiscordNotifications_Click(object sender, EventArgs e)\n    {\n        DiscordWebhook.Enabled = EnableDiscordNotifications.Checked;\n        DiscordMessageContent.Enabled = EnableDiscordNotifications.Checked;\n        labelWebhooks.Text =\n            \"Webhooks are \" + (DiscordWebhook.Enabled ? \"enabled.\" : \"disabled.\");\n    }\n\n    private void Config_Closing(object sender, EventArgs e)\n    {\n        c.InstanceName = InstanceName.Text;\n\n        c.PlaySound = PlayTone.Checked;\n        c.FocusWindow = FocusWindow.Checked;\n        c.EnableAlertWindow = EnableAlert.Checked;\n        c.AlertWindowMessage = AlertMessage.Text;\n        c.EnableNotification = EnableDiscordNotifications.Checked;\n        c.DiscordWebhook = DiscordWebhook.Text;\n        c.DiscordMessageContent = DiscordMessageContent.Text;\n\n        c.ZyroMethod = ZyroMethod.Checked;\n\n        c.UseTouch = UseTouch.Checked;\n        c.UseOvershoot = UseOvershoot.Checked;\n        c.SaveOnMatch = SaveGame.Checked;\n        c.DodgeSystemUpdate = DodgeSystemUpdate.Checked;\n        c.UseSetStick = UseSetStick.Checked;\n        c.UseMapTrick = UseMapTrick.Checked;\n\n        c.OpenHomeDelay = (int)OpenHome.Value;\n        c.NavigateToSettingsDelay = (int)NavigateToSettings.Value;\n        c.OpenSettingsDelay = (int)OpenSettings.Value;\n        c.HoldDuration = (int)Hold.Value;\n        c.SystemDownPresses = (int)SystemDDownPresses.Value;\n        c.SystemOvershoot = (int)SystemOvershoot.Value;\n        c.SystemReset = (int)SystemReset.Value;\n        c.Submenu = (int)Submenu.Value;\n        c.DateChange = (int)DateChange.Value;\n        c.DaysToSkip = (int)DaysToSkip.Value;\n        c.ReturnHomeDelay = (int)ReturnHome.Value;\n        c.ReturnGameDelay = (int)ReturnGame.Value;\n        c.BaseDelay = (int)BaseDelay.Value;\n        c.SaveGameDelay = (int)SaveGameDelay.Value;\n        c.RelaunchDelay = (int)RelaunchDelay.Value;\n        c.ExtraOverworldWait = (int)ExtraOverworldWait.Value;\n        c.PaldeaScan = PaldeaScanCheck.Checked;\n        c.KitakamiScan = KitakamiScanCheck.Checked;\n        c.BlueberryScan = BlueberryScanCheck.Checked;\n\n        c.IVsStyle = IVstyle.SelectedIndex;\n        c.VerboseIVs = IVverbose.Checked;\n\n        c.EnableEmoji = EnableEmoji.Checked;\n\n        c.ToggleDen = denToggle.Checked;\n        c.StreamerView = ExperimentalView.Checked;\n\n        c.Protocol = (SysBot.Base.SwitchProtocol)Protocol_dropdown.SelectedIndex;\n\n        string output = JsonSerializer.Serialize(c, Options);\n        using StreamWriter sw =\n            new(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, \"config.json\"));\n        sw.Write(output);\n    }\n\n    private static readonly JsonSerializerOptions Options = new() { WriteIndented = true };\n\n    private void UseOvershoot_CheckedChanged(object sender, EventArgs e)\n    {\n        SystemDDownPresses.Enabled = !UseOvershoot.Checked;\n        SystemOvershoot.Enabled = UseOvershoot.Checked;\n    }\n\n    private void UseSetStick_CheckedChanged(object sender, EventArgs e)\n    {\n        UseSetStick.Enabled = !UseSetStick.Checked;\n    }\n\n    private void SaveGame_CheckedChanged(object sender, EventArgs e)\n    {\n        SaveGameDelay.Enabled = SaveGame.Checked;\n    }\n\n    private void BtnTestWebHook_Click(object sender, EventArgs e)\n    {\n        c.InstanceName = InstanceName.Text;\n        c.DiscordMessageContent = DiscordMessageContent.Text;\n        c.IVsStyle = IVstyle.SelectedIndex;\n        c.VerboseIVs = IVverbose.Checked;\n        c.EnableEmoji = EnableEmoji.Checked;\n        c.ToggleDen = denToggle.Checked;\n\n        var mainForm = Application.OpenForms.OfType<MainWindow>().Single();\n        mainForm.TestWebhook();\n    }\n\n    private void LinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)\n    {\n        System.Diagnostics.Process.Start(\n            new System.Diagnostics.ProcessStartInfo(((LinkLabel)sender).Text)\n            {\n                UseShellExecute = true,\n            }\n        );\n    }\n\n    private void Game_SelectedIndexChanged(object sender, EventArgs e)\n    {\n        var game = (string)Game.SelectedItem!;\n        var mainForm = Application.OpenForms.OfType<MainWindow>().Single();\n        mainForm.Game_SelectedIndexChanged(game);\n    }\n\n    private void EmojiConfig_Click(object sender, EventArgs e)\n    {\n        EmojiConfig config = new(c);\n        if (config.ShowDialog() == DialogResult.OK)\n            config.Show();\n    }\n\n    private void Protocol_Changed(object sender, EventArgs e)\n    {\n        c.Protocol = (SysBot.Base.SwitchProtocol)Protocol_dropdown.SelectedIndex;\n        var mainForm = Application.OpenForms.OfType<MainWindow>().Single();\n        mainForm.Protocol_SelectedIndexChanged(c.Protocol);\n    }\n\n    private void StreamerView_Clicked(object sender, EventArgs e)\n    {\n        c.StreamerView = ExperimentalView.Checked;\n        var mainForm = Application.OpenForms.OfType<MainWindow>().Single();\n        mainForm.ToggleStreamerView();\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/ConfigWindow.resx",
    "content": "﻿<root>\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"picAppIcon.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        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\n        xE0QOO7fnUIZ1e1cKGIAAAAASUVORK5CYII=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/EmojiConfig.Designer.cs",
    "content": "﻿namespace RaidCrawler.WinForms.SubForms\n{\n    partial class EmojiConfig\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            this.EmojiGrid = new System.Windows.Forms.DataGridView();\n            ((System.ComponentModel.ISupportInitialize)(this.EmojiGrid)).BeginInit();\n            this.SuspendLayout();\n            // \n            // EmojiGrid\n            // \n            this.EmojiGrid.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;\n            this.EmojiGrid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;\n            this.EmojiGrid.Dock = System.Windows.Forms.DockStyle.Fill;\n            this.EmojiGrid.Location = new System.Drawing.Point(0, 0);\n            this.EmojiGrid.Name = \"EmojiGrid\";\n            this.EmojiGrid.RowTemplate.Height = 25;\n            this.EmojiGrid.Size = new System.Drawing.Size(374, 450);\n            this.EmojiGrid.TabIndex = 0;\n            this.EmojiGrid.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.EmojiGrid_Changed);\n            // \n            // EmojiConfig\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(374, 450);\n            this.Controls.Add(this.EmojiGrid);\n            this.Name = \"EmojiConfig\";\n            this.ShowIcon = false;\n            this.Text = \"EmojiConfig\";\n            ((System.ComponentModel.ISupportInitialize)(this.EmojiGrid)).EndInit();\n            this.ResumeLayout(false);\n\n        }\n\n        #endregion\n\n        private DataGridView EmojiGrid;\n    }\n}"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/EmojiConfig.cs",
    "content": "using System.Data;\n\nnamespace RaidCrawler.WinForms.SubForms;\n\npublic partial class EmojiConfig : Form\n{\n    private readonly ClientConfig c;\n\n    public EmojiConfig(ClientConfig c)\n    {\n        this.c = c;\n        InitializeComponent();\n        EmojiGrid.DataSource = EmojiLoad(c.Emoji);\n    }\n\n    private static DataTable EmojiLoad(Dictionary<string, string> emoji)\n    {\n        DataTable dt = new();\n        dt.Columns.Add(\"Emoji\", typeof(string));\n        dt.Columns.Add(\"Emoji Value\", typeof(string));\n        emoji.ToList().ForEach(kvp => dt.Rows.Add(kvp.Key, kvp.Value));\n        dt.Columns[0].ReadOnly = true;\n        return dt;\n    }\n\n    private void EmojiGrid_Changed(object sender, EventArgs e)\n    {\n        var dict = new Dictionary<string, string>();\n        var dt = (DataTable)EmojiGrid.DataSource!;\n        dt.AsEnumerable().ToList().ForEach(row => dict.Add((string)row[0], (string)row[1]));\n        c.Emoji = dict;\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/EmojiConfig.resx",
    "content": "﻿<root>\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n</root>"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/FilterSettings.Designer.cs",
    "content": "﻿namespace RaidCrawler.WinForms.SubForms\n{\n    partial class FilterSettings\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            components = new System.ComponentModel.Container();\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FilterSettings));\n            Species = new ComboBox();\n            SpeciesCheck = new CheckBox();\n            Form = new NumericUpDown();\n            FormCheck = new CheckBox();\n            NatureCheck = new CheckBox();\n            Nature = new ComboBox();\n            StarCheck = new CheckBox();\n            Stars = new ComboBox();\n            ShinyCheck = new CheckBox();\n            Add = new Button();\n            PerfectIVFilterGroup = new GroupBox();\n            SpeComp = new ComboBox();\n            SpaComp = new ComboBox();\n            SpdComp = new ComboBox();\n            DefComp = new ComboBox();\n            AtkComp = new ComboBox();\n            HPComp = new ComboBox();\n            IVSPE = new NumericUpDown();\n            IVSPD = new NumericUpDown();\n            IVSPA = new NumericUpDown();\n            IVDEF = new NumericUpDown();\n            IVATK = new NumericUpDown();\n            IVHP = new NumericUpDown();\n            Spe = new CheckBox();\n            SpD = new CheckBox();\n            SpA = new CheckBox();\n            Def = new CheckBox();\n            Atk = new CheckBox();\n            HP = new CheckBox();\n            TeraCheck = new CheckBox();\n            TeraType = new ComboBox();\n            ActiveFilters = new CheckedListBox();\n            FilterName = new TextBox();\n            label1 = new Label();\n            Remove = new Button();\n            StarsComp = new ComboBox();\n            RewardsComp = new ComboBox();\n            CheckRewards = new CheckBox();\n            Rewards = new TextBox();\n            label2 = new Label();\n            RewardsCount = new NumericUpDown();\n            ButtonOpenRewardsList = new Button();\n            GenderCheck = new CheckBox();\n            Gender = new ComboBox();\n            LabelBatchFilters = new Label();\n            BatchFilters = new TextBox();\n            SquareCheck = new CheckBox();\n            Tooltip = new ToolTip(components);\n            ECCheck = new CheckBox();\n            ((System.ComponentModel.ISupportInitialize)Form).BeginInit();\n            PerfectIVFilterGroup.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)IVSPE).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)IVSPD).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)IVSPA).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)IVDEF).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)IVATK).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)IVHP).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)RewardsCount).BeginInit();\n            SuspendLayout();\n            // \n            // Species\n            // \n            Species.AutoCompleteMode = AutoCompleteMode.SuggestAppend;\n            Species.AutoCompleteSource = AutoCompleteSource.ListItems;\n            Species.Enabled = false;\n            Species.FormattingEnabled = true;\n            Species.Location = new Point(104, 55);\n            Species.Name = \"Species\";\n            Species.Size = new Size(178, 23);\n            Species.TabIndex = 0;\n            // \n            // SpeciesCheck\n            // \n            SpeciesCheck.AutoSize = true;\n            SpeciesCheck.Location = new Point(15, 57);\n            SpeciesCheck.Name = \"SpeciesCheck\";\n            SpeciesCheck.Size = new Size(65, 19);\n            SpeciesCheck.TabIndex = 1;\n            SpeciesCheck.Text = \"Species\";\n            SpeciesCheck.UseVisualStyleBackColor = true;\n            SpeciesCheck.CheckedChanged += SpeciesCheck_CheckedChanged;\n            // \n            // Form\n            // \n            Form.Enabled = false;\n            Form.Location = new Point(104, 82);\n            Form.Name = \"Form\";\n            Form.Size = new Size(178, 23);\n            Form.TabIndex = 0;\n            // \n            // FormCheck\n            // \n            FormCheck.AutoSize = true;\n            FormCheck.Location = new Point(15, 84);\n            FormCheck.Name = \"FormCheck\";\n            FormCheck.Size = new Size(54, 19);\n            FormCheck.TabIndex = 1;\n            FormCheck.Text = \"Form\";\n            FormCheck.UseVisualStyleBackColor = true;\n            FormCheck.CheckedChanged += FormCheck_CheckedChanged;\n            // \n            // NatureCheck\n            // \n            NatureCheck.AutoSize = true;\n            NatureCheck.Location = new Point(15, 113);\n            NatureCheck.Name = \"NatureCheck\";\n            NatureCheck.Size = new Size(62, 19);\n            NatureCheck.TabIndex = 3;\n            NatureCheck.Text = \"Nature\";\n            NatureCheck.UseVisualStyleBackColor = true;\n            NatureCheck.CheckedChanged += NatureCheck_CheckedChanged;\n            // \n            // Nature\n            // \n            Nature.AutoCompleteMode = AutoCompleteMode.SuggestAppend;\n            Nature.AutoCompleteSource = AutoCompleteSource.ListItems;\n            Nature.Enabled = false;\n            Nature.FormattingEnabled = true;\n            Nature.Location = new Point(104, 111);\n            Nature.Name = \"Nature\";\n            Nature.Size = new Size(178, 23);\n            Nature.TabIndex = 2;\n            // \n            // StarCheck\n            // \n            StarCheck.AutoSize = true;\n            StarCheck.Location = new Point(15, 142);\n            StarCheck.Name = \"StarCheck\";\n            StarCheck.Size = new Size(51, 19);\n            StarCheck.TabIndex = 5;\n            StarCheck.Text = \"Stars\";\n            StarCheck.UseVisualStyleBackColor = true;\n            StarCheck.CheckedChanged += StarCheck_CheckedChanged;\n            // \n            // Stars\n            // \n            Stars.Enabled = false;\n            Stars.FormattingEnabled = true;\n            Stars.Items.AddRange(new object[] { \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\" });\n            Stars.Location = new Point(104, 140);\n            Stars.Name = \"Stars\";\n            Stars.Size = new Size(119, 23);\n            Stars.TabIndex = 4;\n            // \n            // ShinyCheck\n            // \n            ShinyCheck.AutoSize = true;\n            ShinyCheck.Location = new Point(15, 285);\n            ShinyCheck.Name = \"ShinyCheck\";\n            ShinyCheck.Size = new Size(60, 19);\n            ShinyCheck.TabIndex = 6;\n            ShinyCheck.Text = \"Shiny?\";\n            ShinyCheck.UseVisualStyleBackColor = true;\n            ShinyCheck.CheckedChanged += ShinyCheck_CheckedChanged;\n            // \n            // Add\n            // \n            Add.Location = new Point(12, 440);\n            Add.Name = \"Add\";\n            Add.Size = new Size(132, 23);\n            Add.TabIndex = 9;\n            Add.Text = \"Add Filter\";\n            Add.UseVisualStyleBackColor = true;\n            Add.Click += Add_Filter_Click;\n            // \n            // PerfectIVFilterGroup\n            // \n            PerfectIVFilterGroup.Controls.Add(SpeComp);\n            PerfectIVFilterGroup.Controls.Add(SpaComp);\n            PerfectIVFilterGroup.Controls.Add(SpdComp);\n            PerfectIVFilterGroup.Controls.Add(DefComp);\n            PerfectIVFilterGroup.Controls.Add(AtkComp);\n            PerfectIVFilterGroup.Controls.Add(HPComp);\n            PerfectIVFilterGroup.Controls.Add(IVSPE);\n            PerfectIVFilterGroup.Controls.Add(IVSPD);\n            PerfectIVFilterGroup.Controls.Add(IVSPA);\n            PerfectIVFilterGroup.Controls.Add(IVDEF);\n            PerfectIVFilterGroup.Controls.Add(IVATK);\n            PerfectIVFilterGroup.Controls.Add(IVHP);\n            PerfectIVFilterGroup.Controls.Add(Spe);\n            PerfectIVFilterGroup.Controls.Add(SpD);\n            PerfectIVFilterGroup.Controls.Add(SpA);\n            PerfectIVFilterGroup.Controls.Add(Def);\n            PerfectIVFilterGroup.Controls.Add(Atk);\n            PerfectIVFilterGroup.Controls.Add(HP);\n            PerfectIVFilterGroup.Location = new Point(12, 310);\n            PerfectIVFilterGroup.Name = \"PerfectIVFilterGroup\";\n            PerfectIVFilterGroup.Size = new Size(270, 124);\n            PerfectIVFilterGroup.TabIndex = 10;\n            PerfectIVFilterGroup.TabStop = false;\n            PerfectIVFilterGroup.Text = \"IV Filters\";\n            // \n            // SpeComp\n            // \n            SpeComp.DropDownStyle = ComboBoxStyle.DropDownList;\n            SpeComp.Enabled = false;\n            SpeComp.FormattingEnabled = true;\n            SpeComp.Items.AddRange(new object[] { \"=\", \">\", \">=\", \"<=\", \"<\" });\n            SpeComp.Location = new Point(228, 54);\n            SpeComp.Name = \"SpeComp\";\n            SpeComp.Size = new Size(39, 23);\n            SpeComp.TabIndex = 17;\n            // \n            // SpaComp\n            // \n            SpaComp.DropDownStyle = ComboBoxStyle.DropDownList;\n            SpaComp.Enabled = false;\n            SpaComp.FormattingEnabled = true;\n            SpaComp.Items.AddRange(new object[] { \"=\", \">\", \">=\", \"<=\", \"<\" });\n            SpaComp.Location = new Point(138, 54);\n            SpaComp.Name = \"SpaComp\";\n            SpaComp.Size = new Size(39, 23);\n            SpaComp.TabIndex = 15;\n            // \n            // SpdComp\n            // \n            SpdComp.DropDownStyle = ComboBoxStyle.DropDownList;\n            SpdComp.Enabled = false;\n            SpdComp.FormattingEnabled = true;\n            SpdComp.Items.AddRange(new object[] { \"=\", \">\", \">=\", \"<=\", \"<\" });\n            SpdComp.Location = new Point(183, 54);\n            SpdComp.Name = \"SpdComp\";\n            SpdComp.Size = new Size(39, 23);\n            SpdComp.TabIndex = 16;\n            // \n            // DefComp\n            // \n            DefComp.DropDownStyle = ComboBoxStyle.DropDownList;\n            DefComp.Enabled = false;\n            DefComp.FormattingEnabled = true;\n            DefComp.Items.AddRange(new object[] { \"=\", \">\", \">=\", \"<=\", \"<\" });\n            DefComp.Location = new Point(93, 54);\n            DefComp.Name = \"DefComp\";\n            DefComp.Size = new Size(39, 23);\n            DefComp.TabIndex = 14;\n            // \n            // AtkComp\n            // \n            AtkComp.DropDownStyle = ComboBoxStyle.DropDownList;\n            AtkComp.Enabled = false;\n            AtkComp.FormattingEnabled = true;\n            AtkComp.Items.AddRange(new object[] { \"=\", \">\", \">=\", \"<=\", \"<\" });\n            AtkComp.Location = new Point(48, 54);\n            AtkComp.Name = \"AtkComp\";\n            AtkComp.Size = new Size(39, 23);\n            AtkComp.TabIndex = 13;\n            // \n            // HPComp\n            // \n            HPComp.DropDownStyle = ComboBoxStyle.DropDownList;\n            HPComp.Enabled = false;\n            HPComp.FormattingEnabled = true;\n            HPComp.Items.AddRange(new object[] { \"=\", \">\", \">=\", \"<=\", \"<\" });\n            HPComp.Location = new Point(3, 54);\n            HPComp.Name = \"HPComp\";\n            HPComp.Size = new Size(39, 23);\n            HPComp.TabIndex = 12;\n            // \n            // IVSPE\n            // \n            IVSPE.Enabled = false;\n            IVSPE.Location = new Point(228, 22);\n            IVSPE.Maximum = new decimal(new int[] { 31, 0, 0, 0 });\n            IVSPE.Name = \"IVSPE\";\n            IVSPE.Size = new Size(39, 23);\n            IVSPE.TabIndex = 11;\n            IVSPE.Value = new decimal(new int[] { 31, 0, 0, 0 });\n            // \n            // IVSPD\n            // \n            IVSPD.Enabled = false;\n            IVSPD.Location = new Point(183, 22);\n            IVSPD.Maximum = new decimal(new int[] { 31, 0, 0, 0 });\n            IVSPD.Name = \"IVSPD\";\n            IVSPD.Size = new Size(39, 23);\n            IVSPD.TabIndex = 10;\n            IVSPD.Value = new decimal(new int[] { 31, 0, 0, 0 });\n            // \n            // IVSPA\n            // \n            IVSPA.Enabled = false;\n            IVSPA.Location = new Point(138, 22);\n            IVSPA.Maximum = new decimal(new int[] { 31, 0, 0, 0 });\n            IVSPA.Name = \"IVSPA\";\n            IVSPA.Size = new Size(39, 23);\n            IVSPA.TabIndex = 9;\n            IVSPA.Value = new decimal(new int[] { 31, 0, 0, 0 });\n            // \n            // IVDEF\n            // \n            IVDEF.Enabled = false;\n            IVDEF.Location = new Point(93, 22);\n            IVDEF.Maximum = new decimal(new int[] { 31, 0, 0, 0 });\n            IVDEF.Name = \"IVDEF\";\n            IVDEF.Size = new Size(39, 23);\n            IVDEF.TabIndex = 8;\n            IVDEF.Value = new decimal(new int[] { 31, 0, 0, 0 });\n            // \n            // IVATK\n            // \n            IVATK.Enabled = false;\n            IVATK.Location = new Point(48, 22);\n            IVATK.Maximum = new decimal(new int[] { 31, 0, 0, 0 });\n            IVATK.Name = \"IVATK\";\n            IVATK.Size = new Size(39, 23);\n            IVATK.TabIndex = 7;\n            IVATK.Value = new decimal(new int[] { 31, 0, 0, 0 });\n            // \n            // IVHP\n            // \n            IVHP.Enabled = false;\n            IVHP.Location = new Point(3, 22);\n            IVHP.Maximum = new decimal(new int[] { 31, 0, 0, 0 });\n            IVHP.Name = \"IVHP\";\n            IVHP.Size = new Size(39, 23);\n            IVHP.TabIndex = 6;\n            IVHP.Value = new decimal(new int[] { 31, 0, 0, 0 });\n            // \n            // Spe\n            // \n            Spe.AutoSize = true;\n            Spe.CheckAlign = ContentAlignment.TopCenter;\n            Spe.Location = new Point(233, 83);\n            Spe.Name = \"Spe\";\n            Spe.Size = new Size(30, 33);\n            Spe.TabIndex = 5;\n            Spe.Text = \"Spe\";\n            Spe.TextAlign = ContentAlignment.MiddleCenter;\n            Spe.UseVisualStyleBackColor = true;\n            Spe.CheckedChanged += Spe_CheckedChanged;\n            // \n            // SpD\n            // \n            SpD.AutoSize = true;\n            SpD.CheckAlign = ContentAlignment.TopCenter;\n            SpD.Location = new Point(187, 83);\n            SpD.Name = \"SpD\";\n            SpD.Size = new Size(32, 33);\n            SpD.TabIndex = 4;\n            SpD.Text = \"SpD\";\n            SpD.TextAlign = ContentAlignment.MiddleCenter;\n            SpD.UseVisualStyleBackColor = true;\n            SpD.CheckedChanged += SpD_CheckedChanged;\n            // \n            // SpA\n            // \n            SpA.AutoSize = true;\n            SpA.CheckAlign = ContentAlignment.TopCenter;\n            SpA.Location = new Point(142, 83);\n            SpA.Name = \"SpA\";\n            SpA.Size = new Size(32, 33);\n            SpA.TabIndex = 3;\n            SpA.Text = \"SpA\";\n            SpA.TextAlign = ContentAlignment.MiddleCenter;\n            SpA.UseVisualStyleBackColor = true;\n            SpA.CheckedChanged += SpA_CheckedChanged;\n            // \n            // Def\n            // \n            Def.AutoSize = true;\n            Def.CheckAlign = ContentAlignment.TopCenter;\n            Def.Location = new Point(99, 83);\n            Def.Name = \"Def\";\n            Def.Size = new Size(29, 33);\n            Def.TabIndex = 2;\n            Def.Text = \"Def\";\n            Def.TextAlign = ContentAlignment.MiddleCenter;\n            Def.UseVisualStyleBackColor = true;\n            Def.CheckedChanged += Def_CheckedChanged;\n            // \n            // Atk\n            // \n            Atk.AutoSize = true;\n            Atk.CheckAlign = ContentAlignment.TopCenter;\n            Atk.Location = new Point(54, 84);\n            Atk.Name = \"Atk\";\n            Atk.Size = new Size(29, 33);\n            Atk.TabIndex = 1;\n            Atk.Text = \"Atk\";\n            Atk.TextAlign = ContentAlignment.MiddleCenter;\n            Atk.UseVisualStyleBackColor = true;\n            Atk.CheckedChanged += Atk_CheckedChanged;\n            // \n            // HP\n            // \n            HP.AutoSize = true;\n            HP.CheckAlign = ContentAlignment.TopCenter;\n            HP.Location = new Point(10, 84);\n            HP.Name = \"HP\";\n            HP.Size = new Size(27, 33);\n            HP.TabIndex = 0;\n            HP.Text = \"HP\";\n            HP.TextAlign = ContentAlignment.MiddleCenter;\n            HP.UseVisualStyleBackColor = true;\n            HP.CheckedChanged += HP_CheckedChanged;\n            // \n            // TeraCheck\n            // \n            TeraCheck.AutoSize = true;\n            TeraCheck.Location = new Point(15, 171);\n            TeraCheck.Name = \"TeraCheck\";\n            TeraCheck.Size = new Size(74, 19);\n            TeraCheck.TabIndex = 18;\n            TeraCheck.Text = \"Tera Type\";\n            TeraCheck.UseVisualStyleBackColor = true;\n            TeraCheck.CheckedChanged += TeraCheck_CheckedChanged;\n            // \n            // TeraType\n            // \n            TeraType.AutoCompleteMode = AutoCompleteMode.SuggestAppend;\n            TeraType.AutoCompleteSource = AutoCompleteSource.ListItems;\n            TeraType.Enabled = false;\n            TeraType.FormattingEnabled = true;\n            TeraType.Items.AddRange(new object[] { \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\" });\n            TeraType.Location = new Point(104, 169);\n            TeraType.Name = \"TeraType\";\n            TeraType.Size = new Size(178, 23);\n            TeraType.TabIndex = 17;\n            // \n            // ActiveFilters\n            // \n            ActiveFilters.FormattingEnabled = true;\n            ActiveFilters.Location = new Point(305, 23);\n            ActiveFilters.Name = \"ActiveFilters\";\n            ActiveFilters.Size = new Size(185, 256);\n            ActiveFilters.TabIndex = 20;\n            ActiveFilters.ItemCheck += ActiveFilters_ItemCheck;\n            ActiveFilters.DrawItem += ActiveFilters_DrawItem;\n            ActiveFilters.SelectedIndexChanged += ActiveFilters_SelectedIndexChanged;\n            // \n            // FilterName\n            // \n            FilterName.BorderStyle = BorderStyle.FixedSingle;\n            FilterName.Location = new Point(57, 23);\n            FilterName.Name = \"FilterName\";\n            FilterName.Size = new Size(225, 23);\n            FilterName.TabIndex = 21;\n            FilterName.TextChanged += FilterName_TextChanged;\n            // \n            // label1\n            // \n            label1.AutoSize = true;\n            label1.Location = new Point(12, 26);\n            label1.Name = \"label1\";\n            label1.Size = new Size(39, 15);\n            label1.TabIndex = 22;\n            label1.Text = \"Name\";\n            // \n            // Remove\n            // \n            Remove.Location = new Point(150, 439);\n            Remove.Name = \"Remove\";\n            Remove.Size = new Size(132, 23);\n            Remove.TabIndex = 23;\n            Remove.Text = \"Remove Filter\";\n            Remove.UseVisualStyleBackColor = true;\n            Remove.Click += Remove_Click;\n            // \n            // StarsComp\n            // \n            StarsComp.DropDownStyle = ComboBoxStyle.DropDownList;\n            StarsComp.Enabled = false;\n            StarsComp.FormattingEnabled = true;\n            StarsComp.Items.AddRange(new object[] { \"=\", \">\", \">=\", \"<=\", \"<\" });\n            StarsComp.Location = new Point(229, 140);\n            StarsComp.Name = \"StarsComp\";\n            StarsComp.Size = new Size(53, 23);\n            StarsComp.TabIndex = 18;\n            // \n            // RewardsComp\n            // \n            RewardsComp.DropDownStyle = ComboBoxStyle.DropDownList;\n            RewardsComp.Enabled = false;\n            RewardsComp.FormattingEnabled = true;\n            RewardsComp.IntegralHeight = false;\n            RewardsComp.Items.AddRange(new object[] { \"=\", \">\", \">=\", \"<=\", \"<\" });\n            RewardsComp.Location = new Point(229, 256);\n            RewardsComp.Name = \"RewardsComp\";\n            RewardsComp.Size = new Size(53, 23);\n            RewardsComp.TabIndex = 27;\n            // \n            // CheckRewards\n            // \n            CheckRewards.AutoSize = true;\n            CheckRewards.Location = new Point(15, 229);\n            CheckRewards.Name = \"CheckRewards\";\n            CheckRewards.Size = new Size(70, 19);\n            CheckRewards.TabIndex = 26;\n            CheckRewards.Text = \"Rewards\";\n            CheckRewards.UseVisualStyleBackColor = true;\n            CheckRewards.CheckedChanged += CheckRewards_CheckedChanged;\n            // \n            // Rewards\n            // \n            Rewards.Enabled = false;\n            Rewards.Location = new Point(104, 227);\n            Rewards.Name = \"Rewards\";\n            Rewards.Size = new Size(153, 23);\n            Rewards.TabIndex = 28;\n            Rewards.Text = \"645,795,1606,1904,1905,1906,1907,1908\";\n            // \n            // label2\n            // \n            label2.AutoSize = true;\n            label2.Location = new Point(14, 259);\n            label2.Name = \"label2\";\n            label2.Size = new Size(82, 15);\n            label2.TabIndex = 29;\n            label2.Text = \"Reward Count\";\n            // \n            // RewardsCount\n            // \n            RewardsCount.Enabled = false;\n            RewardsCount.Location = new Point(104, 256);\n            RewardsCount.Maximum = new decimal(new int[] { 12, 0, 0, 0 });\n            RewardsCount.Name = \"RewardsCount\";\n            RewardsCount.Size = new Size(119, 23);\n            RewardsCount.TabIndex = 30;\n            // \n            // ButtonOpenRewardsList\n            // \n            ButtonOpenRewardsList.Location = new Point(263, 227);\n            ButtonOpenRewardsList.Name = \"ButtonOpenRewardsList\";\n            ButtonOpenRewardsList.Size = new Size(19, 23);\n            ButtonOpenRewardsList.TabIndex = 31;\n            ButtonOpenRewardsList.Text = \"?\";\n            ButtonOpenRewardsList.UseVisualStyleBackColor = true;\n            ButtonOpenRewardsList.Click += ButtonOpenRewardsList_Click;\n            // \n            // GenderCheck\n            // \n            GenderCheck.AutoSize = true;\n            GenderCheck.Location = new Point(15, 200);\n            GenderCheck.Name = \"GenderCheck\";\n            GenderCheck.Size = new Size(64, 19);\n            GenderCheck.TabIndex = 33;\n            GenderCheck.Text = \"Gender\";\n            GenderCheck.UseVisualStyleBackColor = true;\n            GenderCheck.CheckedChanged += GenderCheck_CheckedChanged;\n            // \n            // Gender\n            // \n            Gender.AutoCompleteMode = AutoCompleteMode.SuggestAppend;\n            Gender.AutoCompleteSource = AutoCompleteSource.ListItems;\n            Gender.Enabled = false;\n            Gender.FormattingEnabled = true;\n            Gender.Items.AddRange(new object[] { \"Male\", \"Female\", \"Genderless\" });\n            Gender.Location = new Point(104, 198);\n            Gender.Name = \"Gender\";\n            Gender.Size = new Size(178, 23);\n            Gender.TabIndex = 32;\n            // \n            // LabelBatchFilters\n            // \n            LabelBatchFilters.AutoSize = true;\n            LabelBatchFilters.Location = new Point(305, 285);\n            LabelBatchFilters.Name = \"LabelBatchFilters\";\n            LabelBatchFilters.Size = new Size(71, 15);\n            LabelBatchFilters.TabIndex = 34;\n            LabelBatchFilters.Text = \"Batch Filters\";\n            // \n            // BatchFilters\n            // \n            BatchFilters.BorderStyle = BorderStyle.FixedSingle;\n            BatchFilters.Location = new Point(305, 305);\n            BatchFilters.Multiline = true;\n            BatchFilters.Name = \"BatchFilters\";\n            BatchFilters.Size = new Size(185, 157);\n            BatchFilters.TabIndex = 35;\n            // \n            // SquareCheck\n            // \n            SquareCheck.AutoSize = true;\n            SquareCheck.Location = new Point(104, 285);\n            SquareCheck.Name = \"SquareCheck\";\n            SquareCheck.Size = new Size(69, 19);\n            SquareCheck.TabIndex = 36;\n            SquareCheck.Text = \"XOR = 0\";\n            Tooltip.SetToolTip(SquareCheck, \"If checked, only stop on \\\"Square\\\" shinies.\\r\\nThere is no display difference for these in SV, but they will appear\\r\\nas Square shiny in SwSh or any future game that supports them.\");\n            SquareCheck.UseVisualStyleBackColor = true;\n            // \n            // ECCheck\n            // \n            ECCheck.AutoSize = true;\n            ECCheck.Location = new Point(188, 285);\n            ECCheck.Name = \"ECCheck\";\n            ECCheck.Size = new Size(94, 19);\n            ECCheck.TabIndex = 37;\n            ECCheck.Text = \"EC % 100 = 0\";\n            Tooltip.SetToolTip(ECCheck, resources.GetString(\"ECCheck.ToolTip\"));\n            ECCheck.UseVisualStyleBackColor = true;\n            // \n            // FilterSettings\n            // \n            AutoScaleDimensions = new SizeF(7F, 15F);\n            AutoScaleMode = AutoScaleMode.Font;\n            ClientSize = new Size(502, 474);\n            Controls.Add(ECCheck);\n            Controls.Add(SquareCheck);\n            Controls.Add(BatchFilters);\n            Controls.Add(LabelBatchFilters);\n            Controls.Add(GenderCheck);\n            Controls.Add(Gender);\n            Controls.Add(ButtonOpenRewardsList);\n            Controls.Add(RewardsCount);\n            Controls.Add(label2);\n            Controls.Add(Rewards);\n            Controls.Add(RewardsComp);\n            Controls.Add(CheckRewards);\n            Controls.Add(StarsComp);\n            Controls.Add(Remove);\n            Controls.Add(label1);\n            Controls.Add(FilterName);\n            Controls.Add(ActiveFilters);\n            Controls.Add(TeraCheck);\n            Controls.Add(TeraType);\n            Controls.Add(PerfectIVFilterGroup);\n            Controls.Add(Add);\n            Controls.Add(ShinyCheck);\n            Controls.Add(StarCheck);\n            Controls.Add(Stars);\n            Controls.Add(NatureCheck);\n            Controls.Add(Nature);\n            Controls.Add(FormCheck);\n            Controls.Add(Form);\n            Controls.Add(SpeciesCheck);\n            Controls.Add(Species);\n            FormBorderStyle = FormBorderStyle.FixedDialog;\n            MaximizeBox = false;\n            MinimizeBox = false;\n            Name = \"FilterSettings\";\n            StartPosition = FormStartPosition.CenterParent;\n            Text = \"FilterSettings\";\n            FormClosing += FilterSettings_FormClosing;\n            ((System.ComponentModel.ISupportInitialize)Form).EndInit();\n            PerfectIVFilterGroup.ResumeLayout(false);\n            PerfectIVFilterGroup.PerformLayout();\n            ((System.ComponentModel.ISupportInitialize)IVSPE).EndInit();\n            ((System.ComponentModel.ISupportInitialize)IVSPD).EndInit();\n            ((System.ComponentModel.ISupportInitialize)IVSPA).EndInit();\n            ((System.ComponentModel.ISupportInitialize)IVDEF).EndInit();\n            ((System.ComponentModel.ISupportInitialize)IVATK).EndInit();\n            ((System.ComponentModel.ISupportInitialize)IVHP).EndInit();\n            ((System.ComponentModel.ISupportInitialize)RewardsCount).EndInit();\n            ResumeLayout(false);\n            PerformLayout();\n        }\n\n        #endregion\n\n        private ComboBox Species;\n        private CheckBox SpeciesCheck;\n        private NumericUpDown Form;\n        private CheckBox FormCheck;\n        private CheckBox NatureCheck;\n        private ComboBox Nature;\n        private CheckBox StarCheck;\n        private ComboBox Stars;\n        private CheckBox ShinyCheck;\n        private Button Add;\n        private GroupBox PerfectIVFilterGroup;\n        private CheckBox Spe;\n        private CheckBox SpD;\n        private CheckBox SpA;\n        private CheckBox Def;\n        private CheckBox Atk;\n        private CheckBox HP;\n        private NumericUpDown IVSPE;\n        private NumericUpDown IVSPD;\n        private NumericUpDown IVSPA;\n        private NumericUpDown IVDEF;\n        private NumericUpDown IVATK;\n        private NumericUpDown IVHP;\n        private CheckBox TeraCheck;\n        private ComboBox TeraType;\n        private CheckedListBox ActiveFilters;\n        private TextBox FilterName;\n        private Label label1;\n        private Button Remove;\n        private ComboBox HPComp;\n        private ComboBox SpeComp;\n        private ComboBox SpaComp;\n        private ComboBox SpdComp;\n        private ComboBox DefComp;\n        private ComboBox AtkComp;\n        private ComboBox StarsComp;\n        private ComboBox RewardsComp;\n        private CheckBox CheckRewards;\n        private TextBox Rewards;\n        private Label label2;\n        private NumericUpDown RewardsCount;\n        private Button ButtonOpenRewardsList;\n        private CheckBox GenderCheck;\n        private ComboBox Gender;\n        private Label LabelBatchFilters;\n        private TextBox BatchFilters;\n        private CheckBox SquareCheck;\n        private ToolTip Tooltip;\n        private CheckBox ECCheck;\n    }\n}"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/FilterSettings.cs",
    "content": "using PKHeX.Core;\nusing RaidCrawler.Core.Structures;\nusing System.Text.Json;\n\nnamespace RaidCrawler.WinForms.SubForms;\n\npublic partial class FilterSettings : Form\n{\n    private readonly List<RaidFilter> filters;\n    private readonly BindingSource bs = [];\n\n    public FilterSettings(ref List<RaidFilter> filters)\n    {\n        InitializeComponent();\n        this.filters = filters;\n        Species.DataSource = Enum.GetValues<Species>()\n            .Where(z => z != PKHeX.Core.Species.MAX_COUNT)\n            .ToArray();\n        Nature.DataSource = Enum.GetValues<Nature>();\n        TeraType.DataSource = Enum.GetValues<MoveType>()\n            .Where(z => z != MoveType.Any)\n            .ToArray();\n\n        Stars.SelectedIndex = 0;\n        StarsComp.SelectedIndex = 0;\n        HPComp.SelectedIndex = 0;\n        AtkComp.SelectedIndex = 0;\n        DefComp.SelectedIndex = 0;\n        SpaComp.SelectedIndex = 0;\n        SpdComp.SelectedIndex = 0;\n        SpeComp.SelectedIndex = 0;\n\n        ResetActiveFilters();\n        if (ActiveFilters.Items.Count > 0)\n            ActiveFilters.SelectedIndex = 0;\n        if (ActiveFilters.SelectedIndex == -1)\n            Remove.Enabled = false;\n    }\n\n    public void ResetActiveFilters()\n    {\n        if (bs.DataSource == null)\n        {\n            bs.DataSource = filters;\n            ActiveFilters.DataSource = bs;\n            ActiveFilters.DisplayMember = \"Name\";\n        }\n        else\n        {\n            bs.ResetBindings(false);\n        }\n        for (int i = 0; i < filters.Count; i++)\n            ActiveFilters.SetItemChecked(i, filters[i].Enabled);\n    }\n\n    public void SelectFilter(RaidFilter filter)\n    {\n        FilterName.Text = filter.Name;\n        Species.SelectedIndex = filter.Species ?? 0;\n        Form.Value = filter.Form ?? 0;\n        Nature.SelectedIndex = filter.Nature ?? 0;\n        Stars.SelectedIndex = filter.Stars != null ? (int)filter.Stars - 1 : 0;\n        StarsComp.SelectedIndex = filter.StarsComp;\n        TeraType.SelectedIndex = filter.TeraType ?? 0;\n        Gender.SelectedIndex = filter.Gender ?? 0;\n        SpeciesCheck.Checked = filter.Species != null;\n        FormCheck.Checked = filter.Form != null;\n        NatureCheck.Checked = filter.Nature != null;\n        StarCheck.Checked = filter.Stars != null;\n        TeraCheck.Checked = filter.TeraType != null;\n        GenderCheck.Checked = filter.Gender != null;\n        ShinyCheck.Checked = filter.Shiny;\n        SquareCheck.Checked = filter.Square;\n        ECCheck.Checked = filter.RareEC;\n        CheckRewards.Checked = filter is { RewardItems: not null, RewardsCount: > 0 };\n        Rewards.Text = filter.RewardItems != null\n            ? string.Join(\",\", filter.RewardItems.Select(x => x.ToString()).ToArray())\n            : \"645,795,1606,1904,1905,1906,1907,1908\";\n        RewardsComp.SelectedIndex = filter.RewardsComp;\n        RewardsCount.Value = filter.RewardsCount;\n        BatchFilters.Text = filter.BatchFilters != null\n            ? string.Join(Environment.NewLine, filter.BatchFilters)\n            : string.Empty;\n\n        var ivbin = filter.IVBin;\n        HP.Checked = (ivbin & 1) == 1;\n        Atk.Checked = ((ivbin >> 1) & 1) == 1;\n        Def.Checked = ((ivbin >> 2) & 1) == 1;\n        SpA.Checked = ((ivbin >> 3) & 1) == 1;\n        SpD.Checked = ((ivbin >> 4) & 1) == 1;\n        Spe.Checked = ((ivbin >> 5) & 1) == 1;\n\n        var ivvals = filter.IVVals;\n        IVHP.Value = ivvals & 31;\n        IVATK.Value = (ivvals >> 5) & 31;\n        IVDEF.Value = (ivvals >> 10) & 31;\n        IVSPA.Value = (ivvals >> 15) & 31;\n        IVSPD.Value = (ivvals >> 20) & 31;\n        IVSPE.Value = (ivvals >> 25) & 31;\n\n        var ivcomp = filter.IVComps;\n        HPComp.SelectedIndex = (ivcomp & 7);\n        AtkComp.SelectedIndex = (ivcomp >> 3) & 7;\n        DefComp.SelectedIndex = (ivcomp >> 6) & 7;\n        SpaComp.SelectedIndex = (ivcomp >> 9) & 7;\n        SpdComp.SelectedIndex = (ivcomp >> 12) & 7;\n        SpeComp.SelectedIndex = (ivcomp >> 15) & 7;\n\n        IVHP.Enabled = HP.Checked;\n        IVATK.Enabled = Atk.Checked;\n        IVDEF.Enabled = Def.Checked;\n        IVSPA.Enabled = SpA.Checked;\n        IVSPD.Enabled = SpD.Checked;\n        IVSPE.Enabled = Spe.Checked;\n\n        HPComp.Enabled = HP.Checked;\n        AtkComp.Enabled = Atk.Checked;\n        DefComp.Enabled = Def.Checked;\n        SpaComp.Enabled = SpA.Checked;\n        SpdComp.Enabled = SpD.Checked;\n        SpeComp.Enabled = Spe.Checked;\n\n        Species.Enabled = SpeciesCheck.Checked;\n        Nature.Enabled = NatureCheck.Checked;\n        Stars.Enabled = StarCheck.Checked;\n        StarsComp.Enabled = StarCheck.Checked;\n        Rewards.Enabled = CheckRewards.Checked;\n        ButtonOpenRewardsList.Enabled = CheckRewards.Checked;\n        RewardsCount.Enabled = CheckRewards.Checked;\n        RewardsComp.Enabled = CheckRewards.Checked;\n        TeraType.Enabled = TeraCheck.Checked;\n        Gender.Enabled = GenderCheck.Checked;\n    }\n\n    private void Add_Filter_Click(object sender, EventArgs e)\n    {\n        if (string.IsNullOrWhiteSpace(FilterName.Text))\n        {\n            MessageBox.Show(\"Name is a required field!\");\n            return;\n        }\n\n        RaidFilter filter = new();\n        var ivbin =\n            ToInt(HP.Checked) << 0\n            | ToInt(Atk.Checked) << 1\n            | ToInt(Def.Checked) << 2\n            | ToInt(SpA.Checked) << 3\n            | ToInt(SpD.Checked) << 4\n            | ToInt(Spe.Checked) << 5;\n        var ivcomps =\n            HPComp.SelectedIndex << 0\n            | AtkComp.SelectedIndex << 3\n            | DefComp.SelectedIndex << 6\n            | SpaComp.SelectedIndex << 9\n            | SpdComp.SelectedIndex << 12\n            | SpeComp.SelectedIndex << 15;\n        var ivvals =\n            (int)IVHP.Value << 0\n            | (int)IVATK.Value << 5\n            | (int)IVDEF.Value << 10\n            | (int)IVSPA.Value << 15\n            | (int)IVSPD.Value << 20\n            | (int)IVSPE.Value << 25;\n\n        filter.Name = FilterName.Text.Trim();\n        filter.Species = SpeciesCheck.Checked ? Species.SelectedIndex : null;\n        filter.Form = FormCheck.Checked ? (int)Form.Value : null;\n        filter.Nature = NatureCheck.Checked ? Nature.SelectedIndex : null;\n        filter.Stars = StarCheck.Checked ? Stars.SelectedIndex + 1 : null;\n        filter.StarsComp = StarsComp.SelectedIndex;\n        filter.TeraType = TeraCheck.Checked ? TeraType.SelectedIndex : null;\n        filter.Gender = GenderCheck.Checked ? Gender.SelectedIndex : null;\n        filter.Shiny = ShinyCheck.Checked;\n        filter.Square = SquareCheck.Checked;\n        filter.RareEC = ECCheck.Checked;\n        filter.IVBin = ivbin;\n        filter.IVVals = ivvals;\n        filter.IVComps = ivcomps;\n        filter.RewardItems = CheckRewards.Checked\n            ? Rewards.Text\n                .Split(',')\n                .Where(z => int.TryParse(z.Trim(), out _))\n                .Select(z => int.Parse(z.Trim()))\n                .ToArray()\n            : null;\n        filter.RewardsCount = (int)RewardsCount.Value;\n        filter.RewardsComp = RewardsComp.SelectedIndex;\n        filter.BatchFilters = string.IsNullOrWhiteSpace(BatchFilters.Text) ? null : BatchFilters.Text.Split(Environment.NewLine);\n        filter.Enabled = true;\n        if (filter.IsFilterSet())\n        {\n            for (int i = 0; i < ActiveFilters.Items.Count; i++)\n            {\n                var f = filters[i];\n                if (f.Name != filter.Name)\n                    continue;\n                filters.RemoveAt(i);\n                break;\n            }\n\n            filters.Add(filter);\n            ResetActiveFilters();\n            ActiveFilters.SelectedIndex = ActiveFilters.Items.Count - 1;\n        }\n        else\n        {\n            MessageBox.Show(\"You have not set any stop conditions. No filter will be added.\");\n        }\n    }\n\n    private static int ToInt(bool b) => b ? 1 : 0;\n\n    private void SpeciesCheck_CheckedChanged(object sender, EventArgs e)\n    {\n        Species.Enabled = SpeciesCheck.Checked;\n    }\n\n    private void FormCheck_CheckedChanged(object sender, EventArgs e)\n    {\n        Form.Enabled = FormCheck.Checked;\n    }\n\n    private void NatureCheck_CheckedChanged(object sender, EventArgs e)\n    {\n        Nature.Enabled = NatureCheck.Checked;\n    }\n\n    private void StarCheck_CheckedChanged(object sender, EventArgs e)\n    {\n        Stars.Enabled = StarCheck.Checked;\n        StarsComp.Enabled = StarCheck.Checked;\n    }\n\n    private void TeraCheck_CheckedChanged(object sender, EventArgs e)\n    {\n        TeraType.Enabled = TeraCheck.Checked;\n    }\n\n    private void GenderCheck_CheckedChanged(object sender, EventArgs e)\n    {\n        Gender.Enabled = GenderCheck.Checked;\n    }\n\n    private void HP_CheckedChanged(object sender, EventArgs e)\n    {\n        IVHP.Enabled = HP.Checked;\n        HPComp.Enabled = HP.Checked;\n    }\n\n    private void Atk_CheckedChanged(object sender, EventArgs e)\n    {\n        IVATK.Enabled = Atk.Checked;\n        AtkComp.Enabled = Atk.Checked;\n    }\n\n    private void Def_CheckedChanged(object sender, EventArgs e)\n    {\n        IVDEF.Enabled = Def.Checked;\n        DefComp.Enabled = Def.Checked;\n    }\n\n    private void SpA_CheckedChanged(object sender, EventArgs e)\n    {\n        IVSPA.Enabled = SpA.Checked;\n        SpaComp.Enabled = SpA.Checked;\n    }\n\n    private void SpD_CheckedChanged(object sender, EventArgs e)\n    {\n        IVSPD.Enabled = SpD.Checked;\n        SpdComp.Enabled = SpD.Checked;\n    }\n\n    private void Spe_CheckedChanged(object sender, EventArgs e)\n    {\n        IVSPE.Enabled = Spe.Checked;\n        SpeComp.Enabled = Spe.Checked;\n    }\n\n    private void FilterSettings_FormClosing(object sender, EventArgs e)\n    {\n        HashSet<int> indexset = new(ActiveFilters.CheckedIndices.Cast<int>());\n        for (int i = 0; i < filters.Count; i++)\n            filters[i].Enabled = indexset.Contains(i);\n\n        string output = JsonSerializer.Serialize(filters);\n        using StreamWriter sw =\n            new(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, \"filters.json\"));\n        sw.Write(output);\n    }\n\n    private void Remove_Click(object sender, EventArgs e)\n    {\n        if (ActiveFilters.Items.Count == 0 || ActiveFilters.SelectedIndex == -1)\n            return;\n\n        var idx = ActiveFilters.SelectedIndex;\n        filters.RemoveAt(idx);\n        ResetActiveFilters();\n    }\n\n    private void ActiveFilters_SelectedIndexChanged(object sender, EventArgs e)\n    {\n        Remove.Enabled = ActiveFilters.SelectedIndex >= 0;\n        if (ActiveFilters.SelectedIndex < 0)\n            return;\n        SelectFilter(filters[ActiveFilters.SelectedIndex]);\n    }\n\n    private void ActiveFilters_ItemCheck(object sender, ItemCheckEventArgs e)\n    {\n        filters[e.Index].Enabled = e.NewValue == CheckState.Checked;\n    }\n\n    private void FilterName_TextChanged(object sender, EventArgs e)\n    {\n        if (ActiveFilters.SelectedIndex > -1 && FilterName.Text == filters[ActiveFilters.SelectedIndex].Name)\n            Add.Text = \"Update Filter\";\n        else\n            Add.Text = \"Add Filter\";\n    }\n\n    private void CheckRewards_CheckedChanged(object sender, EventArgs e)\n    {\n        Rewards.Enabled = CheckRewards.Checked;\n        ButtonOpenRewardsList.Enabled = CheckRewards.Checked;\n        RewardsComp.Enabled = CheckRewards.Checked;\n        RewardsCount.Enabled = CheckRewards.Checked;\n    }\n\n    private void ButtonOpenRewardsList_Click(object sender, EventArgs e)\n    {\n        List<int> IDs = Rewards.Text.Split(',').Select(int.Parse).ToList();\n        using ItemIDs form = new(IDs);\n        if (form.ShowDialog() != DialogResult.OK)\n            return;\n        List<int> s = [];\n        if (form.CheckAbilityCapsule.Checked)\n            s.Add(645);\n        if (form.CheckBottleCap.Checked)\n            s.Add(795);\n        if (form.CheckAbilityPatch.Checked)\n            s.Add(1606);\n        if (form.CheckSweet.Checked)\n            s.Add(1904);\n        if (form.CheckSalty.Checked)\n            s.Add(1905);\n        if (form.CheckSour.Checked)\n            s.Add(1906);\n        if (form.CheckBitter.Checked)\n            s.Add(1907);\n        if (form.CheckSpicy.Checked)\n            s.Add(1908);\n\n        Rewards.Text = string.Join(\",\", s);\n    }\n\n    private void ActiveFilters_DrawItem(object sender, DrawItemEventArgs e)\n    {\n        e.DrawBackground();\n\n        ListBox lb = (ListBox)sender;\n        Graphics g = e.Graphics;\n        RaidFilter filter = (RaidFilter)lb.Items[e.Index];\n\n        var highlight = (e.State & DrawItemState.Selected) == DrawItemState.Selected;\n        var color = highlight ? ColorTranslator.FromHtml(\"#000078d7\") : Color.White;\n        var brush = new SolidBrush(color);\n        g.FillRectangle(brush, e.Bounds);\n\n        var textColor = filter.Enabled ? e.ForeColor : Color.Gray;\n        var textBrush = new SolidBrush(textColor);\n        var pt = new PointF(e.Bounds.X, e.Bounds.Y);\n        g.DrawString(filter.Name, new Font(Name = \"Segoe UI\", 9), textBrush, pt);\n\n        e.DrawFocusRectangle();\n    }\n\n    private void ShinyCheck_CheckedChanged(object sender, EventArgs e)\n    {\n        SquareCheck.Enabled = ShinyCheck.Checked;\n        if (!ShinyCheck.Checked)\n            SquareCheck.Checked = false;\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/FilterSettings.resx",
    "content": "﻿<root>\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <metadata name=\"Tooltip.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>17, 17</value>\n  </metadata>\n  <data name=\"ECCheck.ToolTip\" xml:space=\"preserve\">\n    <value>If checked, only stop on results where the remainder of the\nEncryption Constant (EC) divided by 100 is 0. This will result\nin Dunsparce evolving into 3-Segment form, and Tandemaus\nevolving into Family of Three form.</value>\n  </data>\n</root>"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/ItemIDs.Designer.cs",
    "content": "﻿namespace RaidCrawler.WinForms.SubForms\n{\n    partial class ItemIDs\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            this.button1 = new System.Windows.Forms.Button();\n            this.CheckAbilityPatch = new System.Windows.Forms.CheckBox();\n            this.PicPatch = new System.Windows.Forms.PictureBox();\n            this.PicSweet = new System.Windows.Forms.PictureBox();\n            this.PicSour = new System.Windows.Forms.PictureBox();\n            this.PicSpicy = new System.Windows.Forms.PictureBox();\n            this.CheckSweet = new System.Windows.Forms.CheckBox();\n            this.CheckSour = new System.Windows.Forms.CheckBox();\n            this.CheckSpicy = new System.Windows.Forms.CheckBox();\n            this.CheckBottleCap = new System.Windows.Forms.CheckBox();\n            this.CheckBitter = new System.Windows.Forms.CheckBox();\n            this.CheckSalty = new System.Windows.Forms.CheckBox();\n            this.PicCap = new System.Windows.Forms.PictureBox();\n            this.PicBitter = new System.Windows.Forms.PictureBox();\n            this.PicSalty = new System.Windows.Forms.PictureBox();\n            this.PicCapsule = new System.Windows.Forms.PictureBox();\n            this.CheckAbilityCapsule = new System.Windows.Forms.CheckBox();\n            ((System.ComponentModel.ISupportInitialize)(this.PicPatch)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicSweet)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicSour)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicSpicy)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicCap)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicBitter)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicSalty)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicCapsule)).BeginInit();\n            this.SuspendLayout();\n            // \n            // button1\n            // \n            this.button1.DialogResult = System.Windows.Forms.DialogResult.OK;\n            this.button1.Location = new System.Drawing.Point(12, 136);\n            this.button1.Name = \"button1\";\n            this.button1.Size = new System.Drawing.Size(274, 35);\n            this.button1.TabIndex = 0;\n            this.button1.Text = \"Confirm\";\n            this.button1.UseVisualStyleBackColor = true;\n            // \n            // CheckAbilityPatch\n            // \n            this.CheckAbilityPatch.AutoSize = true;\n            this.CheckAbilityPatch.Location = new System.Drawing.Point(43, 16);\n            this.CheckAbilityPatch.Name = \"CheckAbilityPatch\";\n            this.CheckAbilityPatch.Size = new System.Drawing.Size(93, 19);\n            this.CheckAbilityPatch.TabIndex = 1;\n            this.CheckAbilityPatch.Text = \"Ability Patch\";\n            this.CheckAbilityPatch.UseVisualStyleBackColor = true;\n            // \n            // PicPatch\n            // \n            this.PicPatch.Image = global::RaidCrawler.WinForms.Properties.Resources.item_1606_hires;\n            this.PicPatch.Location = new System.Drawing.Point(12, 12);\n            this.PicPatch.Name = \"PicPatch\";\n            this.PicPatch.Size = new System.Drawing.Size(25, 25);\n            this.PicPatch.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.PicPatch.TabIndex = 2;\n            this.PicPatch.TabStop = false;\n            // \n            // PicSweet\n            // \n            this.PicSweet.Image = global::RaidCrawler.WinForms.Properties.Resources.item_1904;\n            this.PicSweet.Location = new System.Drawing.Point(12, 43);\n            this.PicSweet.Name = \"PicSweet\";\n            this.PicSweet.Size = new System.Drawing.Size(25, 25);\n            this.PicSweet.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.PicSweet.TabIndex = 3;\n            this.PicSweet.TabStop = false;\n            // \n            // PicSour\n            // \n            this.PicSour.Image = global::RaidCrawler.WinForms.Properties.Resources.item_1906;\n            this.PicSour.Location = new System.Drawing.Point(12, 74);\n            this.PicSour.Name = \"PicSour\";\n            this.PicSour.Size = new System.Drawing.Size(25, 25);\n            this.PicSour.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.PicSour.TabIndex = 4;\n            this.PicSour.TabStop = false;\n            // \n            // PicSpicy\n            // \n            this.PicSpicy.Image = global::RaidCrawler.WinForms.Properties.Resources.item_1908;\n            this.PicSpicy.Location = new System.Drawing.Point(12, 105);\n            this.PicSpicy.Name = \"PicSpicy\";\n            this.PicSpicy.Size = new System.Drawing.Size(25, 25);\n            this.PicSpicy.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.PicSpicy.TabIndex = 5;\n            this.PicSpicy.TabStop = false;\n            // \n            // CheckSweet\n            // \n            this.CheckSweet.AutoSize = true;\n            this.CheckSweet.Location = new System.Drawing.Point(43, 46);\n            this.CheckSweet.Name = \"CheckSweet\";\n            this.CheckSweet.Size = new System.Drawing.Size(92, 19);\n            this.CheckSweet.TabIndex = 6;\n            this.CheckSweet.Text = \"Sweet Herba\";\n            this.CheckSweet.UseVisualStyleBackColor = true;\n            // \n            // CheckSour\n            // \n            this.CheckSour.AutoSize = true;\n            this.CheckSour.Location = new System.Drawing.Point(43, 77);\n            this.CheckSour.Name = \"CheckSour\";\n            this.CheckSour.Size = new System.Drawing.Size(85, 19);\n            this.CheckSour.TabIndex = 7;\n            this.CheckSour.Text = \"Sour Herba\";\n            this.CheckSour.UseVisualStyleBackColor = true;\n            // \n            // CheckSpicy\n            // \n            this.CheckSpicy.AutoSize = true;\n            this.CheckSpicy.Location = new System.Drawing.Point(43, 108);\n            this.CheckSpicy.Name = \"CheckSpicy\";\n            this.CheckSpicy.Size = new System.Drawing.Size(89, 19);\n            this.CheckSpicy.TabIndex = 8;\n            this.CheckSpicy.Text = \"Spicy Herba\";\n            this.CheckSpicy.UseVisualStyleBackColor = true;\n            // \n            // CheckBottleCap\n            // \n            this.CheckBottleCap.AutoSize = true;\n            this.CheckBottleCap.Location = new System.Drawing.Point(181, 108);\n            this.CheckBottleCap.Name = \"CheckBottleCap\";\n            this.CheckBottleCap.Size = new System.Drawing.Size(81, 19);\n            this.CheckBottleCap.TabIndex = 16;\n            this.CheckBottleCap.Text = \"Bottle Cap\";\n            this.CheckBottleCap.UseVisualStyleBackColor = true;\n            // \n            // CheckBitter\n            // \n            this.CheckBitter.AutoSize = true;\n            this.CheckBitter.Location = new System.Drawing.Point(181, 77);\n            this.CheckBitter.Name = \"CheckBitter\";\n            this.CheckBitter.Size = new System.Drawing.Size(89, 19);\n            this.CheckBitter.TabIndex = 15;\n            this.CheckBitter.Text = \"Bitter Herba\";\n            this.CheckBitter.UseVisualStyleBackColor = true;\n            // \n            // CheckSalty\n            // \n            this.CheckSalty.AutoSize = true;\n            this.CheckSalty.Location = new System.Drawing.Point(181, 46);\n            this.CheckSalty.Name = \"CheckSalty\";\n            this.CheckSalty.Size = new System.Drawing.Size(86, 19);\n            this.CheckSalty.TabIndex = 14;\n            this.CheckSalty.Text = \"Salty Herba\";\n            this.CheckSalty.UseVisualStyleBackColor = true;\n            // \n            // PicCap\n            // \n            this.PicCap.Image = global::RaidCrawler.WinForms.Properties.Resources.item_0795_hires;\n            this.PicCap.Location = new System.Drawing.Point(150, 105);\n            this.PicCap.Name = \"PicCap\";\n            this.PicCap.Size = new System.Drawing.Size(25, 25);\n            this.PicCap.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.PicCap.TabIndex = 13;\n            this.PicCap.TabStop = false;\n            // \n            // PicBitter\n            // \n            this.PicBitter.Image = global::RaidCrawler.WinForms.Properties.Resources.item_1907;\n            this.PicBitter.Location = new System.Drawing.Point(150, 74);\n            this.PicBitter.Name = \"PicBitter\";\n            this.PicBitter.Size = new System.Drawing.Size(25, 25);\n            this.PicBitter.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.PicBitter.TabIndex = 12;\n            this.PicBitter.TabStop = false;\n            // \n            // PicSalty\n            // \n            this.PicSalty.Image = global::RaidCrawler.WinForms.Properties.Resources.item_1905;\n            this.PicSalty.Location = new System.Drawing.Point(150, 43);\n            this.PicSalty.Name = \"PicSalty\";\n            this.PicSalty.Size = new System.Drawing.Size(25, 25);\n            this.PicSalty.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.PicSalty.TabIndex = 11;\n            this.PicSalty.TabStop = false;\n            // \n            // PicCapsule\n            // \n            this.PicCapsule.Image = global::RaidCrawler.WinForms.Properties.Resources.item_0645_hires;\n            this.PicCapsule.Location = new System.Drawing.Point(150, 12);\n            this.PicCapsule.Name = \"PicCapsule\";\n            this.PicCapsule.Size = new System.Drawing.Size(25, 25);\n            this.PicCapsule.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.PicCapsule.TabIndex = 10;\n            this.PicCapsule.TabStop = false;\n            // \n            // CheckAbilityCapsule\n            // \n            this.CheckAbilityCapsule.AutoSize = true;\n            this.CheckAbilityCapsule.Location = new System.Drawing.Point(181, 16);\n            this.CheckAbilityCapsule.Name = \"CheckAbilityCapsule\";\n            this.CheckAbilityCapsule.Size = new System.Drawing.Size(105, 19);\n            this.CheckAbilityCapsule.TabIndex = 9;\n            this.CheckAbilityCapsule.Text = \"Ability Capsule\";\n            this.CheckAbilityCapsule.UseVisualStyleBackColor = true;\n            // \n            // ItemIDs\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(298, 183);\n            this.Controls.Add(this.CheckBottleCap);\n            this.Controls.Add(this.CheckBitter);\n            this.Controls.Add(this.CheckSalty);\n            this.Controls.Add(this.PicCap);\n            this.Controls.Add(this.PicBitter);\n            this.Controls.Add(this.PicSalty);\n            this.Controls.Add(this.PicCapsule);\n            this.Controls.Add(this.CheckAbilityCapsule);\n            this.Controls.Add(this.CheckSpicy);\n            this.Controls.Add(this.CheckSour);\n            this.Controls.Add(this.CheckSweet);\n            this.Controls.Add(this.PicSpicy);\n            this.Controls.Add(this.PicSour);\n            this.Controls.Add(this.PicSweet);\n            this.Controls.Add(this.PicPatch);\n            this.Controls.Add(this.CheckAbilityPatch);\n            this.Controls.Add(this.button1);\n            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;\n            this.Name = \"ItemIDs\";\n            this.Text = \"ItemIDs\";\n            ((System.ComponentModel.ISupportInitialize)(this.PicPatch)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicSweet)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicSour)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicSpicy)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicCap)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicBitter)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicSalty)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.PicCapsule)).EndInit();\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n\n        private Button button1;\n        private PictureBox PicPatch;\n        private PictureBox PicSweet;\n        private PictureBox PicSour;\n        private PictureBox PicSpicy;\n        private PictureBox PicCap;\n        private PictureBox PicBitter;\n        private PictureBox PicSalty;\n        private PictureBox PicCapsule;\n        public CheckBox CheckAbilityPatch;\n        public CheckBox CheckAbilityCapsule;\n        public CheckBox CheckSweet;\n        public CheckBox CheckSour;\n        public CheckBox CheckSalty;\n        public CheckBox CheckBitter;\n        public CheckBox CheckSpicy;\n        public CheckBox CheckBottleCap;\n    }\n}"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/ItemIDs.cs",
    "content": "namespace RaidCrawler.WinForms.SubForms;\n\npublic partial class ItemIDs : Form\n{\n    public ItemIDs(List<int> IDs)\n    {\n        InitializeComponent();\n\n        foreach (int ID in IDs)\n        {\n            switch (ID)\n            {\n                case 645:\n                    CheckAbilityCapsule.Checked = true;\n                    break;\n                case 795:\n                    CheckBottleCap.Checked = true;\n                    break;\n                case 1606:\n                    CheckAbilityPatch.Checked = true;\n                    break;\n                case 1904:\n                    CheckSweet.Checked = true;\n                    break;\n                case 1905:\n                    CheckSalty.Checked = true;\n                    break;\n                case 1906:\n                    CheckSour.Checked = true;\n                    break;\n                case 1907:\n                    CheckBitter.Checked = true;\n                    break;\n                case 1908:\n                    CheckSpicy.Checked = true;\n                    break;\n            }\n        }\n        PicCapsule.Image = (Image?)\n            PKHeX.Drawing.PokeSprite.Properties.Resources.ResourceManager.GetObject(\n                \"aitem_645\"\n            );\n        PicCap.Image = (Image?)\n            PKHeX.Drawing.PokeSprite.Properties.Resources.ResourceManager.GetObject(\n                \"aitem_795\"\n            );\n        PicPatch.Image = (Image?)\n            PKHeX.Drawing.PokeSprite.Properties.Resources.ResourceManager.GetObject(\n                \"aitem_1606\"\n            );\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/ItemIDs.resx",
    "content": "﻿<root>\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n</root>"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/MapView.Designer.cs",
    "content": "﻿namespace RaidCrawler.WinForms.SubForms\n{\n    partial class MapView\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            Map = new PictureBox();\n            ((System.ComponentModel.ISupportInitialize)Map).BeginInit();\n            SuspendLayout();\n            // \n            // Map\n            // \n            Map.Location = new Point(0, 0);\n            Map.Name = \"Map\";\n            Map.Size = new Size(512, 512);\n            Map.TabIndex = 0;\n            Map.TabStop = false;\n            // \n            // MapView\n            // \n            AutoScaleDimensions = new SizeF(7F, 15F);\n            AutoScaleMode = AutoScaleMode.Font;\n            ClientSize = new Size(512, 512);\n            Controls.Add(Map);\n            FormBorderStyle = FormBorderStyle.FixedToolWindow;\n            Name = \"MapView\";\n            StartPosition = FormStartPosition.CenterParent;\n            Text = \"Raid Location\";\n            ((System.ComponentModel.ISupportInitialize)Map).EndInit();\n            ResumeLayout(false);\n        }\n\n        #endregion\n\n        private PictureBox Map;\n    }\n}"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/MapView.cs",
    "content": "﻿namespace RaidCrawler.WinForms.SubForms;\n\npublic partial class MapView : Form\n{\n    public MapView(Image map)\n    {\n        InitializeComponent();\n        Map.Image = map;\n    }\n}"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/MapView.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!--\n    Microsoft ResX Schema \n\n    Version 2.0\n\n    The primary goals of this format is to allow a simple XML format\n    that is mostly human readable. The generation and parsing of the\n    various data types are done through the TypeConverter classes\n    associated with the data types.\n\n    Example:\n\n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n\n    There are any number of \"resheader\" rows that contain simple\n    name/value pairs.\n\n    Each data row contains a name, and value. The row also contains a\n    type or mimetype. Type corresponds to a .NET class that support\n    text/value conversion through the TypeConverter architecture.\n    Classes that don't support this are serialized and stored with the\n    mimetype set.\n\n    The mimetype is used for serialized objects, and tells the\n    ResXResourceReader how to depersist the object. This is currently not\n    extensible. For a given mimetype the value must be set accordingly:\n\n    Note - application/x-microsoft.net.object.binary.base64 is the format\n    that the ResXResourceWriter will generate, however the reader can\n    read any of the formats listed below.\n\n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array\n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n</root>"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/RaidBlockViewer.Designer.cs",
    "content": "﻿namespace RaidCrawler.WinForms.SubForms\n{\n    partial class RaidBlockViewer\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RaidBlockViewer));\n            this.RAM = new System.Windows.Forms.TextBox();\n            this.AbsoluteAddress = new System.Windows.Forms.TextBox();\n            this.LabelAbsoluteAddress = new System.Windows.Forms.Label();\n            this.SuspendLayout();\n            // \n            // RAM\n            // \n            this.RAM.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) \n            | System.Windows.Forms.AnchorStyles.Left) \n            | System.Windows.Forms.AnchorStyles.Right)));\n            this.RAM.Font = new System.Drawing.Font(\"Consolas\", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);\n            this.RAM.Location = new System.Drawing.Point(12, 12);\n            this.RAM.Multiline = true;\n            this.RAM.Name = \"RAM\";\n            this.RAM.Size = new System.Drawing.Size(342, 342);\n            this.RAM.TabIndex = 0;\n            this.RAM.Text = \"00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF\";\n            // \n            // AbsoluteAddress\n            // \n            this.AbsoluteAddress.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\n            this.AbsoluteAddress.Font = new System.Drawing.Font(\"Consolas\", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);\n            this.AbsoluteAddress.Location = new System.Drawing.Point(235, 360);\n            this.AbsoluteAddress.Name = \"AbsoluteAddress\";\n            this.AbsoluteAddress.ReadOnly = true;\n            this.AbsoluteAddress.Size = new System.Drawing.Size(119, 22);\n            this.AbsoluteAddress.TabIndex = 1;\n            this.AbsoluteAddress.Text = \"0123456789ABCDEF\";\n            // \n            // LabelAbsoluteAddress\n            // \n            this.LabelAbsoluteAddress.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));\n            this.LabelAbsoluteAddress.AutoSize = true;\n            this.LabelAbsoluteAddress.Location = new System.Drawing.Point(69, 362);\n            this.LabelAbsoluteAddress.Name = \"LabelAbsoluteAddress\";\n            this.LabelAbsoluteAddress.Size = new System.Drawing.Size(160, 15);\n            this.LabelAbsoluteAddress.TabIndex = 2;\n            this.LabelAbsoluteAddress.Text = \"Raid Block Absolute Address:\";\n            // \n            // RaidBlockViewer\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(367, 391);\n            this.Controls.Add(this.LabelAbsoluteAddress);\n            this.Controls.Add(this.AbsoluteAddress);\n            this.Controls.Add(this.RAM);\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.Name = \"RaidBlockViewer\";\n            this.Text = \"RaidBlockViewer\";\n            this.ResumeLayout(false);\n            this.PerformLayout();\n        }\n\n        #endregion\n\n        private TextBox RAM;\n        private TextBox AbsoluteAddress;\n        private Label LabelAbsoluteAddress;\n    }\n}"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/RaidBlockViewer.cs",
    "content": "namespace RaidCrawler.WinForms.SubForms;\n\npublic partial class RaidBlockViewer : Form\n{\n    public RaidBlockViewer(byte[] data, ulong offset)\n    {\n        InitializeComponent();\n        AbsoluteAddress.Text = $\"{offset:X8}\";\n        RAM.Text = string.Join(\" \", data.Select(bytes => $\"{bytes:X2}\"));\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/RaidBlockViewer.resx",
    "content": "﻿<root>\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAMMOAADDDgAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUhLQAAAAAAVF1mFHyD\n        iT1zeoE5UFdgHycwOg0CCBAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIG\n        CgMXISwKS1BZGHZ9gzF4f4VCVl5nIjtFTgNCTFUAAAAAAAAAAAAAAAAAAAAAAAAAAABYYGgAnKClAIOI\n        jhTLzdCX6Ovr5OTn59/P0tS+uby/nqWprYCVmJ5liI6UUXuBiERvdn47aXF5OWlxeThudX06eoGIQ4iO\n        lFCYnKJgqayxebu/wpnS1Na65ujp2ufp6eS7vsGvanF4MNbU1wBaY2sAAAAAAAAAAAAAAAAAAAAAAF9n\n        bgD///8A19jbS/r5+vTp1+T/5c/f//Tq8f/59vn/+Pj5/PX29vbv8vHt6evs5uXo6ODk5+fe5Ofn3uXo\n        6N/p6+vl7/Lx7fX39/X4+Pn7+ff5//Tq8f/kz9//6dfk//b29vqqr7N1AAAAAlpjawAAAAAAAAAAAAAA\n        AAAAAAAAYGhuAP///wDs7e5g/Pr7/bR6pv+YSIT/o1yS/7F0ov++jLL/y6PB/9Oxy//exNj/483e/+TN\n        3v/kzd7/5M3e/97E2P/TsMr/y6LB/76Msv+xdKL/o1yR/5hIg/+0eqb/+vn6/8fJzYEAAAABWWFpAAAA\n        AAAAAAAAAAAAAAAAAABYYGcA////APDw8VH9+/z6tX2m/5NAfv+UQX//k0B+/5NAfv+TQH7/lUOA/5dG\n        gv+XRoL/lkWB/5ZFgf+XRoL/lkaC/5VCgP+TQH7/k0B+/5NAfv+UQX//k0B+/7V8p//6+fr9xcfKcv//\n        /wBYYGgAAAAAAAAAAAAAAAAAAAAAAF1lbQD///8A7O3tQ/38/fS7h67/kj59/5VCf/+VQ4D/lUOA/5VD\n        gP+VQ4D/lEKA/6Rekv+9irD/vYqw/6Nekv+UQn//lUOA/5VDgP+VQ4D/lUOA/5VCf/+SPn3/u4au//n5\n        +fq8wMJj////AFlhaQAAAAAAAAAAAAAAAAAAAAAAbHF5APn5+QDl5eY1/f797dGuyf+jXJL/nVGK/5hJ\n        hP+WRYH/lUOA/5RAf/+ydqP/7uHr//Lo8P/y6O//7uHq/7J2o/+TQH7/lUOA/5ZEgf+YSIP/nE+I/6JY\n        j//RrMj/9/j49q+zt1b///8AWWFpAAAAAAAAAAAAAAAAAAAAAABaX2kA8fHyAOHi5Cj9/f3m+vb5//Lo\n        8P/s3ej/5M/e/9zB1f/Wts7/0q/J/+/i6//dxNf/pF6T/6Rek//dw9f/7uHr/9GtyP/Us8z/2r7T/+PN\n        3f/q2ub/8ebu//r2+f/29vfwp6uvReTk5gD///8A////AAAAAAAAAAAAAAAAAHp9hQDk5eYA2tvdHvz9\n        /dvew9f/uIKr/8aau//RrMj/2bvR/9/G2f/o1uP/+/j6/7V9qP+SPn3/kj59/7V9qP/7+Pr/6Nbj/9/H\n        2f/avtP/07HL/8ievv+6ha3/38bZ//L09OicoaU5xMbJAH6EiwAAAAAAAAAAAAAAAAAAAAAAjI+VANTX\n        2ADMz9AV+/38ztq+0/+UQn//k0B+/5RCf/+WRIH/lkWB/6Nbkf/v4uz/yqHA/5ZEgf+WRIH/yqHA/+/i\n        7P+iW5H/lkWB/5ZEgf+UQn//k0B+/5RCf//bvtT/7/Hx35CUmS2hpaoAV19nAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAv8LGAMHEyAv7/fy/4svc/5dHg/+VQ4D/lUOA/5VDgP+VQoD/lUOA/8ecvP/27/T/2r/T/9q/\n        0//27/X/x529/5VDgP+VQoD/lUOA/5VDgP+VQ4D/l0eD/+LL3P/t7+/UfoKIIoKHjQCPl58AAAAAAAAA\n        AAAAAAAAAAAAAAAAAACws7YAoqapBvn7+rHm0uH/mkuG/5VCgP+VQ4D/lUKA/5lKhv+YSYT/mUmE/76M\n        sv/fxtn/38bZ/76Msv+ZSYT/mEiE/5lKhf+VQoD/lUOA/5VCgP+aS4b/5tLh/+jq6shvdXwYb3R7AImR\n        mQAAAAAAAAAAAAAAAAAAAAAAAAAAAKOmqQBYW2AD9/j3oe3f6f+eU4v/lEJ//5VDgP+WRYL/zabE/76M\n        sv+TQH7/lEF//5dGgv+XRoL/lEF//5NAfv++jLH/zabD/5ZFgv+VQ4D/lEJ//55Ti//u3+r/3+LjvFdc\n        ZRJqb3cAX2VqAAAAAAAAAAAAAAAAAAAAAAAAAAAAeH6EAP///wD2+PeO8+nw/6JZj/+UQn//lEF//7N4\n        pf/69vn/38fZ/5hIhP+VQ4D/lUOA/5VDgP+VQ4D/mEiE/9/H2f/69vn/s3il/5RBf/+UQn//olmP//Pp\n        8P/b3t+sNj9JDFpiagB+gIgAAAAAAAAAAAAAAAAAAAAAAAAAAABgZW4A////APb393317fP/pmCV/5NA\n        fv+eU4z/5dLh//////z17fP/p2OW/5RBf/+VQ4D/lUOA/5RBf/+nYpb/9e3z//////3l0uD/nlOM/5NA\n        fv+mX5P/9e3z/9bZ25sABxUGTVZeAJygqQAAAAAAAAAAAAAAAAAAAAAAAAAAAHN3fwD///8A8fHxa/n1\n        +P+tbp7/lEF//8qiwP/9/f308/T0pf79/vLAkLT/k0B+/5VDgP+VQ4D/k0B+/8CQtP/8/Pz27Oztrf79\n        /vHKocD/lEF//65unv/49Pf/zc/SiwAAAANZYWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV15mAP//\n        /wDv8PBU/Pv8+7N5pf+tbZ3/9e70//X29qjc3t8l////0NvA1P+XRoL/lUOA/5VDgP+XRoL/3MDV//f5\n        +Ny+wcMw////nfXu9P+tbZ3/tHqm//r5+v7Exsl1AAAAAFlgaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AABgZm4A////AO/v8DT+/v7q4Mja/+jX5P/8/fze3+LjM////wD9/v6Z8OXu/6JZkP+UQn//lEF//6JZ\n        j//x5u7/6+3tqzlBSgn7+/sr////2ejX5P/gyNr/+vv778THyUn///8AWmJqAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAACwuNgD///8A2NrbBvz8/Hr////h/v7+1vHx81sAEBwB////APf4+Fr7+fv7tn6o/5NA\n        fv+TQH7/tn6p//v5+v3X2dtxAAAAAdDZ3AD6/v5U/v//1f///+L19fWBr7K2Cenq7ABeZWwAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4+fkA9vb2Bfn6+iH3+Pgb29veAr29vwD///8A7u/xKP//\n        /+LQrcf/lEKA/5VCgP/Rrcj/+fv66r/CxTn///8Av8PGAPT39wL6+/sa9/j4Id/g4Abx8fEAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOvr\n        7ADk5OUI/v//sera5v+cUIn/nFCJ/+ra5v/x8/O/jpOYE6iqrgCEjJQAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAjo+RAP///wD4+fpq+vf6/rJ2o/+ydqP/+vf5/9/h4oAAAAACVFlhAIiPlwAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA+fn7APb2+CL////Y59Xj/+fV4//6+/veyMvNMP///wBYXmcAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADp6eoAHR0lAPz8/F7////b/v7+3PHy82Q2QkwC////AGFp\n        cQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj5gAAAAAA9PT1A/v7+x/5+fkf0dLVBAAA\n        AACvsbYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAA//////////////////////gP+A/wAAAP8AAAB/AAAAfwAAAP8AAAD/AA\n        AA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4AAAP+AAAD/gAAA/4AAAf+BAAH/gQBB/8MAw///AP///4\n        D///+B////wf///8P/////////////////8=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/RewardsView.Designer.cs",
    "content": "﻿namespace RaidCrawler.WinForms.SubForms\n{\n    partial class RewardsView\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            this.SuspendLayout();\n            // \n            // RewardsView\n            // \n            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.ClientSize = new System.Drawing.Size(275, 32);\n            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;\n            this.Name = \"RewardsView\";\n            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;\n            this.Text = \"RewardsView\";\n            this.ResumeLayout(false);\n\n        }\n\n        #endregion\n    }\n}"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/RewardsView.cs",
    "content": "using PKHeX.Drawing;\nusing RaidCrawler.Core.Structures;\n\nnamespace RaidCrawler.WinForms.SubForms;\n\npublic partial class RewardsView : Form\n{\n    public RewardsView(IReadOnlyList<string> itemStrings, IReadOnlyList<string> moveStrings, IReadOnlyList<(int, int, int)> rewards)\n    {\n        InitializeComponent();\n        var rare = PKHeX.Drawing.PokeSprite.Properties.Resources.rare_icon;\n        var pictures = new PictureBox[rewards.Count];\n        var labels = new Label[rewards.Count];\n        for (int i = 0; i < rewards.Count; i++)\n        {\n            var pb = pictures[i] = new PictureBox\n            {\n                Size = new Size(24, 24),\n                Location = new Point(12, (i * 36) + 12),\n                SizeMode = PictureBoxSizeMode.CenterImage,\n            };\n\n            var label = labels[i] = new Label();\n            var reward = rewards[i];\n            var item = reward.Item1 switch\n            {\n                10000 => \"Material\",\n                20000 => \"Tera Shard\",\n                _ => Rewards.IsTM(reward.Item1)\n                   ? Rewards.GetNameTM(reward.Item1, itemStrings, moveStrings, Rewards.TMIndexes)\n                   : itemStrings[reward.Item1],\n            };\n\n            var subject = reward.Item3 switch\n            {\n                1 => \"(Host)\",\n                2 => \"(Client)\",\n                3 => \"(Once)\",\n                _ => string.Empty,\n            };\n\n            var img = GetItem(rewards, i);\n\n            if (img != null && Rewards.RareRewards.Contains(reward.Item1))\n                img = ImageUtil.LayerImage(img, rare, 0, 0, 0.7);\n\n            pb.Image = img;\n            label.Text = $\"{item} x{reward.Item2} {subject}\".TrimEnd();\n            label.Location = new Point(60, 12 + (i * (pb.Size.Height + 12)));\n            label.Size = new Size(ClientSize.Width - 60 - 10, label.Height);\n            Controls.Add(pb);\n            Controls.Add(label);\n        }\n        ClientSize = ClientSize with { Height = 12 + (rewards.Count * (pictures[0].Size.Height + 12)) };\n    }\n\n    private static Image? GetItem(IReadOnlyList<(int, int, int)> rewards, int i)\n    {\n        var (rc, item) = GetItemResourceName(rewards[i].Item1);\n        var manager = rc\n            ? Properties.Resources.ResourceManager\n            : PKHeX.Drawing.PokeSprite.Properties.Resources.ResourceManager;\n        return (Image?)manager.GetObject(item);\n    }\n\n    private static (bool rc, string item) GetItemResourceName(int id) => id switch\n    {\n        // Handling for sprites that pkhex doesn't have\n        1904 => (true, \"item_1904\"),\n        1905 => (true, \"item_1905\"),\n        1906 => (true, \"item_1906\"),\n        1907 => (true, \"item_1907\"),\n        1908 => (true, \"item_1908\"),\n        (>= 1956 and <= 2159) or (>= 2438 and <= 2478) => (true, \"material\"),\n        10000 => (true, \"material\"),\n\n        // pkhex can give us the sprites\n        20000 => (false, \"aitem_1862\"),\n        _ => (false, Rewards.IsTM(id) ? \"aitem_tm\" : $\"aitem_{id}\"),\n    };\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/RewardsView.resx",
    "content": "﻿<root>\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n</root>"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/TeraRaidView.Designer.cs",
    "content": "﻿namespace RaidCrawler.WinForms.SubForms\n{\n    partial class TeraRaidView\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TeraRaidView));\n            Map = new PictureBox();\n            Area = new TextBox();\n            picBoxPokemon = new PictureBox();\n            Difficulty = new Label();\n            Species = new Label();\n            Shiny = new Label();\n            Gender = new Label();\n            TeraType = new PictureBox();\n            Ability = new Label();\n            Nature = new Label();\n            groupBox1 = new GroupBox();\n            label1 = new Label();\n            labelAbility = new Label();\n            groupBox2 = new GroupBox();\n            labelSpeed = new Label();\n            SPEED = new Label();\n            labelSpD = new Label();\n            SPD = new Label();\n            labelSpA = new Label();\n            SPA = new Label();\n            labelDef = new Label();\n            DEF = new Label();\n            labelAtk = new Label();\n            ATK = new Label();\n            labelHP = new Label();\n            HP = new Label();\n            groupBox3 = new GroupBox();\n            Move8 = new Label();\n            Move6 = new Label();\n            Move4 = new Label();\n            Move7 = new Label();\n            Move5 = new Label();\n            Move3 = new Label();\n            Move1 = new Label();\n            Move2 = new Label();\n            picShinyAlert = new PictureBox();\n            pictureBox1 = new PictureBox();\n            picBottleCap = new PictureBox();\n            picSaltyHerba = new PictureBox();\n            picSpicyHerba = new PictureBox();\n            picSourHerba = new PictureBox();\n            picSweetHerba = new PictureBox();\n            picAbilityPatch = new PictureBox();\n            labelAbilityPatch = new Label();\n            textAbilityPatch = new Label();\n            labelSweetHerba = new Label();\n            textSweetHerba = new Label();\n            labelSaltyHerba = new Label();\n            textSaltyHerba = new Label();\n            labelBottleCap = new Label();\n            textBottleCap = new Label();\n            labelSourHerba = new Label();\n            textSourHerba = new Label();\n            labelSpicyHerba = new Label();\n            textSpicyHerba = new Label();\n            textSearchTime = new Label();\n            picAbilityCapsule = new PictureBox();\n            picBitterHerba = new PictureBox();\n            labelBitterHerba = new Label();\n            textBitterHerba = new Label();\n            labelAbilityCapsule = new Label();\n            textAbilityCapsule = new Label();\n            DaySkips = new Label();\n            ((System.ComponentModel.ISupportInitialize)Map).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)picBoxPokemon).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)TeraType).BeginInit();\n            groupBox1.SuspendLayout();\n            groupBox2.SuspendLayout();\n            groupBox3.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)picShinyAlert).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)picBottleCap).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)picSaltyHerba).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)picSpicyHerba).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)picSourHerba).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)picSweetHerba).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)picAbilityPatch).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)picAbilityCapsule).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)picBitterHerba).BeginInit();\n            SuspendLayout();\n            // \n            // Map\n            // \n            Map.Location = new Point(564, 12);\n            Map.Name = \"Map\";\n            Map.Size = new Size(384, 384);\n            Map.SizeMode = PictureBoxSizeMode.StretchImage;\n            Map.TabIndex = 64;\n            Map.TabStop = false;\n            // \n            // Area\n            // \n            Area.BackColor = Color.FromArgb(0, 5, 25);\n            Area.BorderStyle = BorderStyle.None;\n            Area.Font = new Font(\"Segoe UI\", 14F, FontStyle.Regular, GraphicsUnit.Point);\n            Area.ForeColor = SystemColors.GradientInactiveCaption;\n            Area.Location = new Point(564, 12);\n            Area.Name = \"Area\";\n            Area.PlaceholderText = \"Area\";\n            Area.Size = new Size(384, 25);\n            Area.TabIndex = 65;\n            Area.TextAlign = HorizontalAlignment.Center;\n            // \n            // picBoxPokemon\n            // \n            picBoxPokemon.Location = new Point(396, 12);\n            picBoxPokemon.Name = \"picBoxPokemon\";\n            picBoxPokemon.Size = new Size(128, 128);\n            picBoxPokemon.SizeMode = PictureBoxSizeMode.Zoom;\n            picBoxPokemon.TabIndex = 112;\n            picBoxPokemon.TabStop = false;\n            // \n            // Difficulty\n            // \n            Difficulty.BackColor = Color.FromArgb(0, 5, 25);\n            Difficulty.Font = new Font(\"Segoe UI Emoji\", 16F, FontStyle.Bold, GraphicsUnit.Point);\n            Difficulty.ForeColor = Color.LemonChiffon;\n            Difficulty.Location = new Point(64, 143);\n            Difficulty.Name = \"Difficulty\";\n            Difficulty.Size = new Size(244, 29);\n            Difficulty.TabIndex = 114;\n            Difficulty.Text = \"⭐⭐⭐⭐⭐⭐⭐\";\n            Difficulty.TextAlign = ContentAlignment.BottomCenter;\n            // \n            // Species\n            // \n            Species.BackColor = Color.FromArgb(0, 5, 25);\n            Species.Font = new Font(\"Segoe UI\", 32F, FontStyle.Bold, GraphicsUnit.Point);\n            Species.ForeColor = SystemColors.ControlLightLight;\n            Species.Location = new Point(12, 32);\n            Species.Name = \"Species\";\n            Species.Size = new Size(348, 57);\n            Species.TabIndex = 115;\n            Species.Text = \"Species\";\n            Species.TextAlign = ContentAlignment.BottomCenter;\n            // \n            // Shiny\n            // \n            Shiny.AutoSize = true;\n            Shiny.Font = new Font(\"Consolas\", 16F, FontStyle.Bold, GraphicsUnit.Point);\n            Shiny.ForeColor = Color.Gold;\n            Shiny.Location = new Point(110, 20);\n            Shiny.Name = \"Shiny\";\n            Shiny.Size = new Size(148, 26);\n            Shiny.TabIndex = 116;\n            Shiny.Text = \"✨ Shiny ✨\";\n            Shiny.TextAlign = ContentAlignment.MiddleCenter;\n            Shiny.Visible = false;\n            // \n            // Gender\n            // \n            Gender.BackColor = Color.FromArgb(0, 5, 25);\n            Gender.Font = new Font(\"Segoe UI\", 12F, FontStyle.Regular, GraphicsUnit.Point);\n            Gender.ForeColor = SystemColors.ActiveCaption;\n            Gender.Location = new Point(406, 146);\n            Gender.Name = \"Gender\";\n            Gender.Size = new Size(109, 22);\n            Gender.TabIndex = 118;\n            Gender.Text = \"Gender\";\n            Gender.TextAlign = ContentAlignment.BottomCenter;\n            // \n            // TeraType\n            // \n            TeraType.Location = new Point(86, 92);\n            TeraType.Name = \"TeraType\";\n            TeraType.Size = new Size(200, 48);\n            TeraType.SizeMode = PictureBoxSizeMode.StretchImage;\n            TeraType.TabIndex = 120;\n            TeraType.TabStop = false;\n            // \n            // Ability\n            // \n            Ability.BackColor = Color.FromArgb(0, 5, 25);\n            Ability.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            Ability.ForeColor = SystemColors.ActiveCaption;\n            Ability.Location = new Point(72, 22);\n            Ability.Name = \"Ability\";\n            Ability.Size = new Size(200, 25);\n            Ability.TabIndex = 121;\n            Ability.Text = \"Ability\";\n            // \n            // Nature\n            // \n            Nature.BackColor = Color.FromArgb(0, 5, 25);\n            Nature.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            Nature.ForeColor = SystemColors.ActiveCaption;\n            Nature.Location = new Point(328, 22);\n            Nature.Name = \"Nature\";\n            Nature.Size = new Size(200, 25);\n            Nature.TabIndex = 122;\n            Nature.Text = \"Nature\";\n            // \n            // groupBox1\n            // \n            groupBox1.Controls.Add(label1);\n            groupBox1.Controls.Add(labelAbility);\n            groupBox1.Controls.Add(Ability);\n            groupBox1.Controls.Add(Nature);\n            groupBox1.ForeColor = Color.DarkGray;\n            groupBox1.Location = new Point(12, 191);\n            groupBox1.Name = \"groupBox1\";\n            groupBox1.Size = new Size(546, 65);\n            groupBox1.TabIndex = 123;\n            groupBox1.TabStop = false;\n            groupBox1.Text = \"Details\";\n            // \n            // label1\n            // \n            label1.AutoSize = true;\n            label1.ForeColor = Color.Silver;\n            label1.Location = new Point(278, 29);\n            label1.Name = \"label1\";\n            label1.Size = new Size(46, 15);\n            label1.TabIndex = 124;\n            label1.Text = \"Nature:\";\n            label1.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // labelAbility\n            // \n            labelAbility.AutoSize = true;\n            labelAbility.ForeColor = Color.Silver;\n            labelAbility.Location = new Point(22, 29);\n            labelAbility.Name = \"labelAbility\";\n            labelAbility.Size = new Size(44, 15);\n            labelAbility.TabIndex = 123;\n            labelAbility.Text = \"Ability:\";\n            labelAbility.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // groupBox2\n            // \n            groupBox2.Controls.Add(labelSpeed);\n            groupBox2.Controls.Add(SPEED);\n            groupBox2.Controls.Add(labelSpD);\n            groupBox2.Controls.Add(SPD);\n            groupBox2.Controls.Add(labelSpA);\n            groupBox2.Controls.Add(SPA);\n            groupBox2.Controls.Add(labelDef);\n            groupBox2.Controls.Add(DEF);\n            groupBox2.Controls.Add(labelAtk);\n            groupBox2.Controls.Add(ATK);\n            groupBox2.Controls.Add(labelHP);\n            groupBox2.Controls.Add(HP);\n            groupBox2.ForeColor = Color.DarkGray;\n            groupBox2.Location = new Point(12, 262);\n            groupBox2.Name = \"groupBox2\";\n            groupBox2.Size = new Size(546, 65);\n            groupBox2.TabIndex = 124;\n            groupBox2.TabStop = false;\n            groupBox2.Text = \"IVs\";\n            // \n            // labelSpeed\n            // \n            labelSpeed.AutoSize = true;\n            labelSpeed.ForeColor = Color.Silver;\n            labelSpeed.Location = new Point(407, 29);\n            labelSpeed.Name = \"labelSpeed\";\n            labelSpeed.Size = new Size(42, 15);\n            labelSpeed.TabIndex = 133;\n            labelSpeed.Text = \"Speed:\";\n            labelSpeed.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // SPEED\n            // \n            SPEED.BackColor = Color.FromArgb(0, 5, 25);\n            SPEED.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            SPEED.ForeColor = Color.White;\n            SPEED.Location = new Point(449, 22);\n            SPEED.Name = \"SPEED\";\n            SPEED.Size = new Size(36, 25);\n            SPEED.TabIndex = 132;\n            SPEED.Text = \"00\";\n            SPEED.TextAlign = ContentAlignment.BottomCenter;\n            // \n            // labelSpD\n            // \n            labelSpD.AutoSize = true;\n            labelSpD.ForeColor = Color.Silver;\n            labelSpD.Location = new Point(336, 29);\n            labelSpD.Name = \"labelSpD\";\n            labelSpD.Size = new Size(31, 15);\n            labelSpD.TabIndex = 131;\n            labelSpD.Text = \"SpD:\";\n            labelSpD.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // SPD\n            // \n            SPD.BackColor = Color.FromArgb(0, 5, 25);\n            SPD.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            SPD.ForeColor = Color.White;\n            SPD.Location = new Point(367, 22);\n            SPD.Name = \"SPD\";\n            SPD.Size = new Size(36, 25);\n            SPD.TabIndex = 130;\n            SPD.Text = \"00\";\n            SPD.TextAlign = ContentAlignment.BottomCenter;\n            // \n            // labelSpA\n            // \n            labelSpA.AutoSize = true;\n            labelSpA.ForeColor = Color.Silver;\n            labelSpA.Location = new Point(265, 29);\n            labelSpA.Name = \"labelSpA\";\n            labelSpA.Size = new Size(31, 15);\n            labelSpA.TabIndex = 129;\n            labelSpA.Text = \"SpA:\";\n            labelSpA.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // SPA\n            // \n            SPA.BackColor = Color.FromArgb(0, 5, 25);\n            SPA.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            SPA.ForeColor = Color.White;\n            SPA.Location = new Point(297, 22);\n            SPA.Name = \"SPA\";\n            SPA.Size = new Size(36, 25);\n            SPA.TabIndex = 128;\n            SPA.Text = \"00\";\n            SPA.TextAlign = ContentAlignment.BottomCenter;\n            // \n            // labelDef\n            // \n            labelDef.AutoSize = true;\n            labelDef.ForeColor = Color.Silver;\n            labelDef.Location = new Point(197, 29);\n            labelDef.Name = \"labelDef\";\n            labelDef.Size = new Size(28, 15);\n            labelDef.TabIndex = 127;\n            labelDef.Text = \"Def:\";\n            labelDef.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // DEF\n            // \n            DEF.BackColor = Color.FromArgb(0, 5, 25);\n            DEF.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            DEF.ForeColor = Color.White;\n            DEF.Location = new Point(226, 22);\n            DEF.Name = \"DEF\";\n            DEF.Size = new Size(36, 25);\n            DEF.TabIndex = 126;\n            DEF.Text = \"00\";\n            DEF.TextAlign = ContentAlignment.BottomCenter;\n            // \n            // labelAtk\n            // \n            labelAtk.AutoSize = true;\n            labelAtk.ForeColor = Color.Silver;\n            labelAtk.Location = new Point(129, 29);\n            labelAtk.Name = \"labelAtk\";\n            labelAtk.Size = new Size(28, 15);\n            labelAtk.TabIndex = 125;\n            labelAtk.Text = \"Atk:\";\n            labelAtk.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // ATK\n            // \n            ATK.BackColor = Color.FromArgb(0, 5, 25);\n            ATK.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            ATK.ForeColor = Color.White;\n            ATK.Location = new Point(158, 22);\n            ATK.Name = \"ATK\";\n            ATK.Size = new Size(36, 25);\n            ATK.TabIndex = 124;\n            ATK.Text = \"00\";\n            ATK.TextAlign = ContentAlignment.BottomCenter;\n            // \n            // labelHP\n            // \n            labelHP.AutoSize = true;\n            labelHP.ForeColor = Color.Silver;\n            labelHP.Location = new Point(63, 29);\n            labelHP.Name = \"labelHP\";\n            labelHP.Size = new Size(26, 15);\n            labelHP.TabIndex = 123;\n            labelHP.Text = \"HP:\";\n            labelHP.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // HP\n            // \n            HP.BackColor = Color.FromArgb(0, 5, 25);\n            HP.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            HP.ForeColor = Color.White;\n            HP.Location = new Point(90, 22);\n            HP.Name = \"HP\";\n            HP.Size = new Size(36, 25);\n            HP.TabIndex = 121;\n            HP.Text = \"00\";\n            HP.TextAlign = ContentAlignment.BottomCenter;\n            // \n            // groupBox3\n            // \n            groupBox3.Controls.Add(Move8);\n            groupBox3.Controls.Add(Move6);\n            groupBox3.Controls.Add(Move4);\n            groupBox3.Controls.Add(Move7);\n            groupBox3.Controls.Add(Move5);\n            groupBox3.Controls.Add(Move3);\n            groupBox3.Controls.Add(Move1);\n            groupBox3.Controls.Add(Move2);\n            groupBox3.ForeColor = Color.DarkGray;\n            groupBox3.Location = new Point(12, 333);\n            groupBox3.Name = \"groupBox3\";\n            groupBox3.Size = new Size(546, 157);\n            groupBox3.TabIndex = 125;\n            groupBox3.TabStop = false;\n            groupBox3.Text = \"Raid Moveset\";\n            // \n            // Move8\n            // \n            Move8.BackColor = Color.FromArgb(0, 5, 25);\n            Move8.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            Move8.ForeColor = Color.LightSlateGray;\n            Move8.Location = new Point(278, 115);\n            Move8.Name = \"Move8\";\n            Move8.Size = new Size(200, 25);\n            Move8.TabIndex = 128;\n            Move8.Text = \"Move8\";\n            // \n            // Move6\n            // \n            Move6.BackColor = Color.FromArgb(0, 5, 25);\n            Move6.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            Move6.ForeColor = Color.LightSlateGray;\n            Move6.Location = new Point(278, 84);\n            Move6.Name = \"Move6\";\n            Move6.Size = new Size(200, 25);\n            Move6.TabIndex = 127;\n            Move6.Text = \"Move6\";\n            // \n            // Move4\n            // \n            Move4.BackColor = Color.FromArgb(0, 5, 25);\n            Move4.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            Move4.ForeColor = SystemColors.ActiveCaption;\n            Move4.Location = new Point(278, 53);\n            Move4.Name = \"Move4\";\n            Move4.Size = new Size(200, 25);\n            Move4.TabIndex = 126;\n            Move4.Text = \"Move4\";\n            // \n            // Move7\n            // \n            Move7.BackColor = Color.FromArgb(0, 5, 25);\n            Move7.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            Move7.ForeColor = Color.LightSlateGray;\n            Move7.Location = new Point(22, 115);\n            Move7.Name = \"Move7\";\n            Move7.Size = new Size(200, 25);\n            Move7.TabIndex = 125;\n            Move7.Text = \"Move7\";\n            // \n            // Move5\n            // \n            Move5.BackColor = Color.FromArgb(0, 5, 25);\n            Move5.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            Move5.ForeColor = Color.LightSlateGray;\n            Move5.Location = new Point(22, 84);\n            Move5.Name = \"Move5\";\n            Move5.Size = new Size(200, 25);\n            Move5.TabIndex = 124;\n            Move5.Text = \"Move5\";\n            // \n            // Move3\n            // \n            Move3.BackColor = Color.FromArgb(0, 5, 25);\n            Move3.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            Move3.ForeColor = SystemColors.ActiveCaption;\n            Move3.Location = new Point(22, 53);\n            Move3.Name = \"Move3\";\n            Move3.Size = new Size(200, 25);\n            Move3.TabIndex = 123;\n            Move3.Text = \"Move3\";\n            // \n            // Move1\n            // \n            Move1.BackColor = Color.FromArgb(0, 5, 25);\n            Move1.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            Move1.ForeColor = SystemColors.ActiveCaption;\n            Move1.Location = new Point(22, 22);\n            Move1.Name = \"Move1\";\n            Move1.Size = new Size(200, 25);\n            Move1.TabIndex = 121;\n            Move1.Text = \"Move1\";\n            // \n            // Move2\n            // \n            Move2.BackColor = Color.FromArgb(0, 5, 25);\n            Move2.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            Move2.ForeColor = SystemColors.ActiveCaption;\n            Move2.Location = new Point(278, 22);\n            Move2.Name = \"Move2\";\n            Move2.Size = new Size(200, 25);\n            Move2.TabIndex = 122;\n            Move2.Text = \"Move2\";\n            // \n            // picShinyAlert\n            // \n            picShinyAlert.BackColor = Color.Transparent;\n            picShinyAlert.Enabled = false;\n            picShinyAlert.Image = (Image)resources.GetObject(\"picShinyAlert.Image\");\n            picShinyAlert.Location = new Point(300, 92);\n            picShinyAlert.Name = \"picShinyAlert\";\n            picShinyAlert.Size = new Size(79, 77);\n            picShinyAlert.SizeMode = PictureBoxSizeMode.Zoom;\n            picShinyAlert.TabIndex = 160;\n            picShinyAlert.TabStop = false;\n            // \n            // pictureBox1\n            // \n            pictureBox1.BackColor = Color.Transparent;\n            pictureBox1.Location = new Point(12, 501);\n            pictureBox1.Name = \"pictureBox1\";\n            pictureBox1.Size = new Size(546, 27);\n            pictureBox1.TabIndex = 126;\n            pictureBox1.TabStop = false;\n            // \n            // picBottleCap\n            // \n            picBottleCap.Image = Properties.Resources.item_0795_hires;\n            picBottleCap.Location = new Point(560, 448);\n            picBottleCap.Name = \"picBottleCap\";\n            picBottleCap.Size = new Size(48, 48);\n            picBottleCap.SizeMode = PictureBoxSizeMode.StretchImage;\n            picBottleCap.TabIndex = 138;\n            picBottleCap.TabStop = false;\n            // \n            // picSaltyHerba\n            // \n            picSaltyHerba.Image = Properties.Resources.item_1905_hires;\n            picSaltyHerba.Location = new Point(857, 402);\n            picSaltyHerba.Name = \"picSaltyHerba\";\n            picSaltyHerba.Size = new Size(48, 48);\n            picSaltyHerba.SizeMode = PictureBoxSizeMode.StretchImage;\n            picSaltyHerba.TabIndex = 137;\n            picSaltyHerba.TabStop = false;\n            // \n            // picSpicyHerba\n            // \n            picSpicyHerba.Image = Properties.Resources.item_1908_hires;\n            picSpicyHerba.Location = new Point(857, 448);\n            picSpicyHerba.Name = \"picSpicyHerba\";\n            picSpicyHerba.Size = new Size(48, 48);\n            picSpicyHerba.SizeMode = PictureBoxSizeMode.StretchImage;\n            picSpicyHerba.TabIndex = 131;\n            picSpicyHerba.TabStop = false;\n            // \n            // picSourHerba\n            // \n            picSourHerba.Image = Properties.Resources.item_1906_hires;\n            picSourHerba.Location = new Point(759, 448);\n            picSourHerba.Name = \"picSourHerba\";\n            picSourHerba.Size = new Size(48, 48);\n            picSourHerba.SizeMode = PictureBoxSizeMode.StretchImage;\n            picSourHerba.TabIndex = 130;\n            picSourHerba.TabStop = false;\n            // \n            // picSweetHerba\n            // \n            picSweetHerba.Image = Properties.Resources.item_1904_hires;\n            picSweetHerba.Location = new Point(759, 402);\n            picSweetHerba.Name = \"picSweetHerba\";\n            picSweetHerba.Size = new Size(48, 48);\n            picSweetHerba.SizeMode = PictureBoxSizeMode.StretchImage;\n            picSweetHerba.TabIndex = 129;\n            picSweetHerba.TabStop = false;\n            // \n            // picAbilityPatch\n            // \n            picAbilityPatch.Image = Properties.Resources.item_1606_hires;\n            picAbilityPatch.Location = new Point(560, 402);\n            picAbilityPatch.Name = \"picAbilityPatch\";\n            picAbilityPatch.Size = new Size(48, 48);\n            picAbilityPatch.SizeMode = PictureBoxSizeMode.StretchImage;\n            picAbilityPatch.TabIndex = 128;\n            picAbilityPatch.TabStop = false;\n            // \n            // labelAbilityPatch\n            // \n            labelAbilityPatch.AutoSize = true;\n            labelAbilityPatch.ForeColor = Color.Silver;\n            labelAbilityPatch.Location = new Point(614, 404);\n            labelAbilityPatch.Name = \"labelAbilityPatch\";\n            labelAbilityPatch.Size = new Size(37, 15);\n            labelAbilityPatch.TabIndex = 135;\n            labelAbilityPatch.Text = \"Patch\";\n            labelAbilityPatch.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // textAbilityPatch\n            // \n            textAbilityPatch.BackColor = Color.FromArgb(0, 5, 25);\n            textAbilityPatch.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            textAbilityPatch.ForeColor = Color.White;\n            textAbilityPatch.Location = new Point(616, 419);\n            textAbilityPatch.Name = \"textAbilityPatch\";\n            textAbilityPatch.Size = new Size(34, 25);\n            textAbilityPatch.TabIndex = 134;\n            textAbilityPatch.Text = \"00\";\n            textAbilityPatch.TextAlign = ContentAlignment.BottomCenter;\n            textAbilityPatch.TextChanged += Rewards_TextChanged;\n            // \n            // labelSweetHerba\n            // \n            labelSweetHerba.AutoSize = true;\n            labelSweetHerba.ForeColor = Color.Silver;\n            labelSweetHerba.Location = new Point(813, 404);\n            labelSweetHerba.Name = \"labelSweetHerba\";\n            labelSweetHerba.Size = new Size(38, 15);\n            labelSweetHerba.TabIndex = 143;\n            labelSweetHerba.Text = \"Sweet\";\n            labelSweetHerba.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // textSweetHerba\n            // \n            textSweetHerba.BackColor = Color.FromArgb(0, 5, 25);\n            textSweetHerba.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            textSweetHerba.ForeColor = Color.White;\n            textSweetHerba.Location = new Point(817, 419);\n            textSweetHerba.Name = \"textSweetHerba\";\n            textSweetHerba.Size = new Size(34, 25);\n            textSweetHerba.TabIndex = 142;\n            textSweetHerba.Text = \"00\";\n            textSweetHerba.TextAlign = ContentAlignment.BottomCenter;\n            textSweetHerba.TextChanged += Rewards_TextChanged;\n            // \n            // labelSaltyHerba\n            // \n            labelSaltyHerba.AutoSize = true;\n            labelSaltyHerba.ForeColor = Color.Silver;\n            labelSaltyHerba.Location = new Point(910, 404);\n            labelSaltyHerba.Name = \"labelSaltyHerba\";\n            labelSaltyHerba.Size = new Size(32, 15);\n            labelSaltyHerba.TabIndex = 145;\n            labelSaltyHerba.Text = \"Salty\";\n            labelSaltyHerba.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // textSaltyHerba\n            // \n            textSaltyHerba.BackColor = Color.FromArgb(0, 5, 25);\n            textSaltyHerba.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            textSaltyHerba.ForeColor = Color.White;\n            textSaltyHerba.Location = new Point(911, 419);\n            textSaltyHerba.Name = \"textSaltyHerba\";\n            textSaltyHerba.Size = new Size(37, 25);\n            textSaltyHerba.TabIndex = 144;\n            textSaltyHerba.Text = \"00\";\n            textSaltyHerba.TextAlign = ContentAlignment.BottomCenter;\n            textSaltyHerba.TextChanged += Rewards_TextChanged;\n            // \n            // labelBottleCap\n            // \n            labelBottleCap.AutoSize = true;\n            labelBottleCap.ForeColor = Color.Silver;\n            labelBottleCap.Location = new Point(618, 452);\n            labelBottleCap.Name = \"labelBottleCap\";\n            labelBottleCap.Size = new Size(28, 15);\n            labelBottleCap.TabIndex = 147;\n            labelBottleCap.Text = \"Cap\";\n            labelBottleCap.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // textBottleCap\n            // \n            textBottleCap.BackColor = Color.FromArgb(0, 5, 25);\n            textBottleCap.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            textBottleCap.ForeColor = Color.White;\n            textBottleCap.Location = new Point(614, 467);\n            textBottleCap.Name = \"textBottleCap\";\n            textBottleCap.Size = new Size(36, 25);\n            textBottleCap.TabIndex = 146;\n            textBottleCap.Text = \"00\";\n            textBottleCap.TextAlign = ContentAlignment.BottomCenter;\n            textBottleCap.TextChanged += Rewards_TextChanged;\n            // \n            // labelSourHerba\n            // \n            labelSourHerba.AutoSize = true;\n            labelSourHerba.ForeColor = Color.Silver;\n            labelSourHerba.Location = new Point(817, 452);\n            labelSourHerba.Name = \"labelSourHerba\";\n            labelSourHerba.Size = new Size(31, 15);\n            labelSourHerba.TabIndex = 149;\n            labelSourHerba.Text = \"Sour\";\n            labelSourHerba.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // textSourHerba\n            // \n            textSourHerba.BackColor = Color.FromArgb(0, 5, 25);\n            textSourHerba.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            textSourHerba.ForeColor = Color.White;\n            textSourHerba.Location = new Point(817, 467);\n            textSourHerba.Name = \"textSourHerba\";\n            textSourHerba.Size = new Size(34, 25);\n            textSourHerba.TabIndex = 148;\n            textSourHerba.Text = \"00\";\n            textSourHerba.TextAlign = ContentAlignment.BottomCenter;\n            textSourHerba.TextChanged += Rewards_TextChanged;\n            // \n            // labelSpicyHerba\n            // \n            labelSpicyHerba.AutoSize = true;\n            labelSpicyHerba.ForeColor = Color.Silver;\n            labelSpicyHerba.Location = new Point(908, 450);\n            labelSpicyHerba.Name = \"labelSpicyHerba\";\n            labelSpicyHerba.Size = new Size(35, 15);\n            labelSpicyHerba.TabIndex = 151;\n            labelSpicyHerba.Text = \"Spicy\";\n            labelSpicyHerba.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // textSpicyHerba\n            // \n            textSpicyHerba.BackColor = Color.FromArgb(0, 5, 25);\n            textSpicyHerba.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            textSpicyHerba.ForeColor = Color.White;\n            textSpicyHerba.Location = new Point(911, 467);\n            textSpicyHerba.Name = \"textSpicyHerba\";\n            textSpicyHerba.Size = new Size(37, 25);\n            textSpicyHerba.TabIndex = 150;\n            textSpicyHerba.Text = \"00\";\n            textSpicyHerba.TextAlign = ContentAlignment.BottomCenter;\n            textSpicyHerba.TextChanged += Rewards_TextChanged;\n            // \n            // textSearchTime\n            // \n            textSearchTime.BackColor = Color.FromArgb(0, 5, 25);\n            textSearchTime.Font = new Font(\"Segoe UI\", 12F, FontStyle.Bold, GraphicsUnit.Point);\n            textSearchTime.ForeColor = Color.LightSlateGray;\n            textSearchTime.Location = new Point(840, 501);\n            textSearchTime.Name = \"textSearchTime\";\n            textSearchTime.Size = new Size(102, 25);\n            textSearchTime.TabIndex = 153;\n            textSearchTime.Text = \"00:00:00:00\";\n            textSearchTime.TextAlign = ContentAlignment.BottomCenter;\n            // \n            // picAbilityCapsule\n            // \n            picAbilityCapsule.Image = Properties.Resources.item_0645_hires;\n            picAbilityCapsule.Location = new Point(656, 402);\n            picAbilityCapsule.Name = \"picAbilityCapsule\";\n            picAbilityCapsule.Size = new Size(48, 48);\n            picAbilityCapsule.SizeMode = PictureBoxSizeMode.StretchImage;\n            picAbilityCapsule.TabIndex = 154;\n            picAbilityCapsule.TabStop = false;\n            // \n            // picBitterHerba\n            // \n            picBitterHerba.Image = Properties.Resources.item_1907_hires;\n            picBitterHerba.Location = new Point(656, 448);\n            picBitterHerba.Name = \"picBitterHerba\";\n            picBitterHerba.Size = new Size(48, 48);\n            picBitterHerba.SizeMode = PictureBoxSizeMode.StretchImage;\n            picBitterHerba.TabIndex = 155;\n            picBitterHerba.TabStop = false;\n            // \n            // labelBitterHerba\n            // \n            labelBitterHerba.AutoSize = true;\n            labelBitterHerba.ForeColor = Color.Silver;\n            labelBitterHerba.Location = new Point(713, 452);\n            labelBitterHerba.Name = \"labelBitterHerba\";\n            labelBitterHerba.Size = new Size(35, 15);\n            labelBitterHerba.TabIndex = 159;\n            labelBitterHerba.Text = \"Bitter\";\n            labelBitterHerba.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // textBitterHerba\n            // \n            textBitterHerba.BackColor = Color.FromArgb(0, 5, 25);\n            textBitterHerba.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            textBitterHerba.ForeColor = Color.White;\n            textBitterHerba.Location = new Point(714, 467);\n            textBitterHerba.Name = \"textBitterHerba\";\n            textBitterHerba.Size = new Size(39, 25);\n            textBitterHerba.TabIndex = 158;\n            textBitterHerba.Text = \"00\";\n            textBitterHerba.TextAlign = ContentAlignment.BottomCenter;\n            // \n            // labelAbilityCapsule\n            // \n            labelAbilityCapsule.AutoSize = true;\n            labelAbilityCapsule.ForeColor = Color.Silver;\n            labelAbilityCapsule.Location = new Point(707, 404);\n            labelAbilityCapsule.Name = \"labelAbilityCapsule\";\n            labelAbilityCapsule.Size = new Size(49, 15);\n            labelAbilityCapsule.TabIndex = 157;\n            labelAbilityCapsule.Text = \"Capsule\";\n            labelAbilityCapsule.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // textAbilityCapsule\n            // \n            textAbilityCapsule.BackColor = Color.FromArgb(0, 5, 25);\n            textAbilityCapsule.Font = new Font(\"Segoe UI\", 14F, FontStyle.Bold, GraphicsUnit.Point);\n            textAbilityCapsule.ForeColor = Color.White;\n            textAbilityCapsule.Location = new Point(715, 419);\n            textAbilityCapsule.Name = \"textAbilityCapsule\";\n            textAbilityCapsule.Size = new Size(38, 25);\n            textAbilityCapsule.TabIndex = 156;\n            textAbilityCapsule.Text = \"00\";\n            textAbilityCapsule.TextAlign = ContentAlignment.BottomCenter;\n            // \n            // DaySkips\n            // \n            DaySkips.Anchor = AnchorStyles.None;\n            DaySkips.AutoSize = true;\n            DaySkips.BackColor = Color.Transparent;\n            DaySkips.Font = new Font(\"Segoe UI\", 9F, FontStyle.Bold, GraphicsUnit.Point);\n            DaySkips.ForeColor = Color.LightSlateGray;\n            DaySkips.Location = new Point(618, 509);\n            DaySkips.Name = \"DaySkips\";\n            DaySkips.Size = new Size(141, 15);\n            DaySkips.TabIndex = 161;\n            DaySkips.Text = \"Day Skip Successes 0 / 0\";\n            DaySkips.TextAlign = ContentAlignment.MiddleCenter;\n            // \n            // TeraRaidView\n            // \n            AutoScaleDimensions = new SizeF(7F, 15F);\n            AutoScaleMode = AutoScaleMode.Font;\n            BackColor = Color.FromArgb(0, 5, 25);\n            ClientSize = new Size(960, 540);\n            Controls.Add(DaySkips);\n            Controls.Add(labelBitterHerba);\n            Controls.Add(textBitterHerba);\n            Controls.Add(labelAbilityCapsule);\n            Controls.Add(textAbilityCapsule);\n            Controls.Add(picBitterHerba);\n            Controls.Add(picAbilityCapsule);\n            Controls.Add(textSearchTime);\n            Controls.Add(labelSpicyHerba);\n            Controls.Add(textSpicyHerba);\n            Controls.Add(labelSourHerba);\n            Controls.Add(textSourHerba);\n            Controls.Add(labelBottleCap);\n            Controls.Add(textBottleCap);\n            Controls.Add(labelSaltyHerba);\n            Controls.Add(textSaltyHerba);\n            Controls.Add(labelSweetHerba);\n            Controls.Add(textSweetHerba);\n            Controls.Add(labelAbilityPatch);\n            Controls.Add(textAbilityPatch);\n            Controls.Add(picBottleCap);\n            Controls.Add(picSaltyHerba);\n            Controls.Add(picSpicyHerba);\n            Controls.Add(picSourHerba);\n            Controls.Add(picSweetHerba);\n            Controls.Add(picAbilityPatch);\n            Controls.Add(pictureBox1);\n            Controls.Add(groupBox3);\n            Controls.Add(groupBox2);\n            Controls.Add(groupBox1);\n            Controls.Add(TeraType);\n            Controls.Add(Gender);\n            Controls.Add(Shiny);\n            Controls.Add(Species);\n            Controls.Add(Difficulty);\n            Controls.Add(picBoxPokemon);\n            Controls.Add(Area);\n            Controls.Add(Map);\n            Controls.Add(picShinyAlert);\n            ForeColor = SystemColors.ActiveCaptionText;\n            FormBorderStyle = FormBorderStyle.None;\n            Icon = (Icon)resources.GetObject(\"$this.Icon\");\n            Name = \"TeraRaidView\";\n            Text = \"TeraRaidView\";\n            DoubleClick += TeraRaidView_DoubleClick;\n            MouseDown += TeraRaidView_MouseDown;\n            MouseMove += TeraRaidView_MouseMove;\n            MouseUp += TeraRaidView_MouseUp;\n            ((System.ComponentModel.ISupportInitialize)Map).EndInit();\n            ((System.ComponentModel.ISupportInitialize)picBoxPokemon).EndInit();\n            ((System.ComponentModel.ISupportInitialize)TeraType).EndInit();\n            groupBox1.ResumeLayout(false);\n            groupBox1.PerformLayout();\n            groupBox2.ResumeLayout(false);\n            groupBox2.PerformLayout();\n            groupBox3.ResumeLayout(false);\n            ((System.ComponentModel.ISupportInitialize)picShinyAlert).EndInit();\n            ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();\n            ((System.ComponentModel.ISupportInitialize)picBottleCap).EndInit();\n            ((System.ComponentModel.ISupportInitialize)picSaltyHerba).EndInit();\n            ((System.ComponentModel.ISupportInitialize)picSpicyHerba).EndInit();\n            ((System.ComponentModel.ISupportInitialize)picSourHerba).EndInit();\n            ((System.ComponentModel.ISupportInitialize)picSweetHerba).EndInit();\n            ((System.ComponentModel.ISupportInitialize)picAbilityPatch).EndInit();\n            ((System.ComponentModel.ISupportInitialize)picAbilityCapsule).EndInit();\n            ((System.ComponentModel.ISupportInitialize)picBitterHerba).EndInit();\n            ResumeLayout(false);\n            PerformLayout();\n        }\n\n        #endregion\n        public TextBox Area;\n        public Label Difficulty;\n        public Label Species;\n        public PictureBox picBoxPokemon;\n        public Label Gender;\n        public PictureBox TeraType;\n        public Label Ability;\n        public Label Nature;\n        private GroupBox groupBox1;\n        private Label label1;\n        private Label labelAbility;\n        public PictureBox Map;\n        private GroupBox groupBox2;\n        private Label labelHP;\n        public Label HP;\n        private GroupBox groupBox3;\n        public Label Move1;\n        public Label Move2;\n        private Label labelSpeed;\n        public Label SPEED;\n        private Label labelSpD;\n        public Label SPD;\n        private Label labelSpA;\n        public Label SPA;\n        private Label labelDef;\n        public Label DEF;\n        private Label labelAtk;\n        public Label ATK;\n        public Label Move8;\n        public Label Move6;\n        public Label Move4;\n        public Label Move7;\n        public Label Move5;\n        public Label Move3;\n        private PictureBox pictureBox1;\n        public Label textAbilityPatch;\n        public Label textSweetHerba;\n        public Label textSaltyHerba;\n        public Label textBottleCap;\n        public Label textSourHerba;\n        public Label textSpicyHerba;\n        public Label textSearchTime;\n        public Label textBitterHerba;\n        public Label textAbilityCapsule;\n        public PictureBox picBottleCap;\n        public PictureBox picSaltyHerba;\n        public PictureBox picSpicyHerba;\n        public PictureBox picSourHerba;\n        public PictureBox picSweetHerba;\n        public PictureBox picAbilityPatch;\n        public Label labelAbilityPatch;\n        public Label labelSweetHerba;\n        public Label labelSaltyHerba;\n        public Label labelBottleCap;\n        public Label labelSourHerba;\n        public Label labelSpicyHerba;\n        public PictureBox picAbilityCapsule;\n        public PictureBox picBitterHerba;\n        public Label labelBitterHerba;\n        public Label labelAbilityCapsule;\n        public PictureBox picShinyAlert;\n        public Label Shiny;\n        public Label DaySkips;\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/TeraRaidView.cs",
    "content": "namespace RaidCrawler.WinForms.SubForms;\n\npublic partial class TeraRaidView : Form\n{\n    private readonly object _lock = new();\n\n    // Drag and Drop\n    private bool drag;\n    private Point start = new(0, 0);\n\n    // Progress Bar\n    private readonly int pbWidth, pbHeight;\n    private readonly Bitmap bmp;\n    private double pbComplete, pbUnit;\n    private Graphics? g;\n\n    public TeraRaidView()\n    {\n        InitializeComponent();\n        StartPosition = FormStartPosition.Manual;\n        Location = new Point(0, 0);\n        pbWidth = pictureBox1.Width;\n        pbHeight = pictureBox1.Height;\n        pbComplete = -1;\n        bmp = new Bitmap(pbWidth, pbHeight);\n    }\n\n    public void UpdateProgressBar(int steps)\n    {\n        lock (_lock)\n        {\n            Invoke(() =>\n            {\n                if (pbComplete <= 0)\n                {\n                    pbComplete = pbWidth;\n                    // ReSharper disable once PossibleLossOfFraction\n                    pbUnit = pbWidth / (steps - 1);\n                }\n\n                g = Graphics.FromImage(bmp);\n                g.Clear(Color.LightSkyBlue);\n\n                //draw progressbar\n                pbComplete -= pbUnit;\n                g.FillRegion(\n                    Brushes.CornflowerBlue,\n                    new Region(new RectangleF(0, 0, (float)pbComplete, pbHeight))\n                );\n\n                //load bitmap in picturebox picboxPB\n                pictureBox1.Image = bmp;\n                if (!(pbComplete <= 0))\n                    return;\n                g.FillRectangle(new SolidBrush(Color.FromArgb(0, 5, 25)), new RectangleF(0, 0, pbWidth, pbHeight));\n                pictureBox1.Image = bmp;\n                g.Dispose();\n                pbComplete = -1;\n            });\n        }\n    }\n\n    public void ResetProgressBar()\n    {\n        lock (_lock)\n        {\n            Invoke(() =>\n            {\n                pbComplete = -1;\n                g = Graphics.FromImage(bmp);\n                g.Clear(Color.LightSkyBlue);\n                g.FillRectangle(\n                    new SolidBrush(Color.FromArgb(0, 5, 25)),\n                    new RectangleF(0, 0, pbWidth, pbHeight)\n                );\n\n                pictureBox1.Image = bmp;\n                g.Dispose();\n                pbComplete = -1;\n            });\n        }\n    }\n\n    private void TeraRaidView_MouseDown(object sender, MouseEventArgs e)\n    {\n        drag = true;\n        start = new Point(e.X, e.Y);\n    }\n\n    private void TeraRaidView_MouseMove(object sender, MouseEventArgs e)\n    {\n        if (!drag)\n            return;\n        Point p = PointToScreen(e.Location);\n        Location = new Point(p.X - start.X, p.Y - start.Y);\n    }\n\n    private void Rewards_TextChanged(object sender, EventArgs e)\n    {\n        ForeColor = Color.DarkGray;\n        if (!int.TryParse(Text, out int value)) return;\n        if (value > 0)\n            ForeColor = Color.White;\n\n        if (value > 2)\n            BackColor = Color.ForestGreen;\n    }\n\n    private void TeraRaidView_MouseUp(object sender, MouseEventArgs e) => drag = false;\n    private void TeraRaidView_DoubleClick(object sender, EventArgs e) => Close();\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/TeraRaidView.resx",
    "content": "﻿<root>\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <metadata name=\"Map.Locked\" type=\"System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">\n    <value>True</value>\n  </metadata>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"picShinyAlert.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        R0lGODlhAAIAAvcAAP/pC//aAv/cC//dFP/eG//gA//sBP/0BP//B///C//jFP/pFv/iHf/rH//zFf//\n        Fv/yGv/+HP/fI//fKf/iJP/pJf/hK//tLf/zJv//I///LP/iNP/jOv/vOf/1Mv//NP/2O///PP/kQ//q\n        Qv/kSv/zRP//RP//S//nVf/oVv/nWf/oW///U///XP//ZP//a///dP//fP//hP//jP//lP//m///o///\n        q///s///u///w///y///1P//3P//5P//7P//8//////aA//cDP/sBf/1BP/6Bv/zD//kFf/rFP/iHP/r\n        HP/0Ff//Ff/zHP//HP/fIv/fK//hJP/rJP/hLP/sLP/0Jf/yKv//K//iNf/tNf/qOv/xNP/0O///O//p\n        Q//mTP/qS//yQ///Q//zTf//TP/nVP/rVP/pXP//VP/zWf/rYv//Y///e///k///pP//rP//tP//vP//\n        0///2////v/bBP/kBv/qBv/iC//qDP/7B//1Cv/+Df/qFP/jHP/qHf/yFP//FP/0G///Hf/jJP/rI//i\n        LP/rLP/yLP/jNf/rM//jO//qO//yNP//M//zPP/lQ//qRP/sS//0Q//zSv/sVP/nW//rXP/xU//yXP//\n        W//sY//ua//yY//zbP/vcf/0c//0ev/2hP//g//3iP//i///6///8f//+P/cDf/eGv/rBv/jDP/sCv/8\n        Bv/0C//9C//jFf/pFP/zEf/iK//rK//zJP/rPP/zNP/zO//rRP/rTP/zQ//zTP/nWv/yU//0bP/0e//2\n        g//+g//3if/+jP/+k///2f/qBf/rDP/1Bf/qHP/zE//zIv/jNP/rNP/+PP/yRP/yVP/yW//sYv/yZP/0\n        a//+a//vc//+fP/1g//+i//+lP//wf//0v/qC//0Bf/8B//1C//7C//0Gv/+Hf/jI//qJP/yK//rO//y\n        O//nVv/za//vcP/+dP/7DP/0FP/+FP/zHf//Hv/yI//+TP/qXP/ta//vcv/+c//9e///vf//wP/pTgAA\n        ACH/C0ltYWdlTWFnaWNrDmdhbW1hPTAuNDU0NTQ1ACH5BAkDAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lm\n        LmNvbSBHSUYgbWFrZXIALAAAAAAAAgACAAL/hI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2\n        jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1qt9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7P6/f8\n        vv8PGCg4SFhoeIiYqLjI2Oj4CBkpOUlZaXmJmam5ydnp+QkaKjpKWmp6ipqqusra6voKGys7S1tre4ub\n        q7vL2+v7CxwsPExcbHyMnKy8zNzs/AwdLT1NXW19jZ2tvc3d7f0NHi4+Tl5ufo6err7O3u7+Dh8vP09f\n        b3+Pn6+/z9/v/w8woMCBBAsaPIgwocKFDBs6fAgxosSJFCtavIgxo8aN/xw7evwIMqTIkSRLmjyJMqXK\n        lSxbunwJM6bMmTRr2ryJM6fOnTx7+vwJNKjQoUSLGj2KNKnSpUybOn0KNarUqVSrWr2KNavWrVy7ev0K\n        NqzYsWTLmj2LNq3atWzbun0LN67cuXTr2r2LN6/evXz7+v0LOLDgwYQLGz6MOLHixYwbO34MObLkyZQr\n        W76MObPmzZw7e/4MOrTo0aRLmz6NOrXq1axbu34NO7bs2bRr276NO7fu3bx7+/4NPLjw4cSLGz+OPLny\n        5cybO38OPbr06dSrW7+OPbv27dy7e/8OPrz48eTLmz+PPr369ezbu38PP778+fTr27+PP7/+/fz7+///\n        D2CAAg5IYIEGHohgggouyGCDDj4IYYQSTkhhhRZeiGGGGm7IYYcefghiiCKOSGKJJp6IYooqrshiiy6+\n        CGOMMs5IY4023ohjjjruyGOPPv4IZJBCDklkkUYeiWSSSi7JZJNOPglllFJOSWWVVl6JZZZabslll15+\n        CWaYYo5JZplmnolmmmquyWabbr4JZ5xyzklnnXbeiWeeeu7JZ59+/glooIIOSmihhh6KaKKKLspoo44+\n        Cmmkkk5KaaWWXopppppuymmnnn4Kaqiijkpqqaaeimqqqq7KaquuvgprrLLOSmuttt6Ka6667sprr77+\n        Cmywwg5LbLHGHotsssoTLstss84+C2200k5LbbXWXmtaAQAh+QQJAwAAACwAAAAAAAIAAgAH/4AAgoOE\n        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\n        69rYuW7qvs49ZTMlCZAARTDUmIhrsV4yR0T/68t+CXtECLm+BLzu69yZAEZQBEXQBGxCR6YCNY2I7NKI\n        49/eCUKgYRJt2eReNv2S7kVgBJBufSyMPUlFLBRD7/X+Cc+O1D8zO9au7gD/KzyJeoXWhR7qJpGd8KKw\n        8AnA66Cr7kWwl1KyBIMgjDhYBqi3BSgn5Rq/Cc9OBB2PoLlOBCCf7kZg0oMAd3FS6K7N8i2fCQvP8MVr\n        0rpe0s9eCMVWWHf886MQ9G7NIEeP9HBuxUxfCk6PCEjNCNZS9aQQ9JjA5lyvCQsf9r2Q62R/9mif9mq/\n        9mzf9m7/9nAf93I/93Rf93Z/93if93q/93zf937/94Af+II/+IRf+IZ///iIn/iKv/iM3/iO//iQH/mS\n        P/mUX/mWf/mYn/mav/mc3/me//mgH/qiP/qkX/qmf/qon/qqv/qs3/qu//qwH/uyP/u0X/u2f/u4n/u6\n        v/u83/u+//vAH/zCP/zEX/zGf/zIn/zKv/zM3/zO//zQH/3SP/3UX/3Wf/3Yn/3av/3c3/3e//3gH/7i\n        P/7kX/7mf/7on/7qv/7s3/7u//7wH//yP//0X//2f//4n//6v//83//+////////////////////////\n        /////////////////////////////////////////////////////////////////////////////0X/\n        ////////////////////////////////////////////////////////////////////////////////\n        /////38LgQAAIfkECQMAAAAsAAAAAAACAAIACP8AAQgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rc\n        yLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQ\n        o0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw\n        4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+ve\n        zbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw4v/H0++vPnz6NOrX8++vfv3\n        8OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCG\n        KOKIJJZo4okopqjiiiy26OKLMMYo44w01mjjjTjmqOOOPPbo449ABinkkEQWaeSRSCap5JJMNunkk1BG\n        KeWUVFZp5ZVYZqnlllx26eWXYIYp5phkllnlEAM0NERBaZo52ABDxJlQnHIOhKaberVZUJxw1glAn2je\n        aWefBBFAAJ5yETCAoQQFyieaAwAaqJ2PFirBpYi+tWikkQrUZ6R+CCLqIJKuKRCddApEgAQaPDLBoZmy\n        /xWpopv+OUAgghAiqqh+lOrpo5GuWUirj2hQSCORxKqWoYsqqmiou4qqqx+owvlntXxqEEIIj4RQRhqb\n        mHCIsmhtyqyhCugarajBBkstrbRGmkEIJpiQxgttvLBJGocQ8IezhjJKblfxbjqAAtKqu+sQeeAqagYa\n        lPGCJ2mYsC2995KiMQz79huwvwP8OzDB5m667q669tGHICoLAnEaMMQc8wsvwECKKaa4YUobbGzi8ccC\n        j7xVyZHmGi0hSBPi8MorE/KICfjK3EbOObuhMyn69hsy0EJPdci4bJqrqNEJJ02IH9CyLKq2NcPQxtRV\n        W221KRwrAnTQXSuV7ECKfP9t0LmROqyw2YOgnXbTj2zi9s1Uyz03KW2kYbgfgKCtZ95HRaK5QIcoMoHf\n        AzXLadoom3022g7vqsEmGt/sONU4b2xCBmYLgnlSmmve99efg+3srEWrizTtwyNduB95hLrytmngjPPc\n        rztPCgxlPJL05bcHpYgiZXTfvSO8e+75nwArinDSGaSvvtmAKOA+H4KEAC7rjtfguM7OmwJ5GtYTgn32\n        PpmAIkzwLe+ZwHOHEOAEHgE44PkLEOqLYPqS5j4F5IEQIdjEC25WgxrY4IM26KD98he7NpigVf8DIE8G\n        6L3upSENjejcBCZgrxBIwGDO+sMfAGGIHkJwfcQjhAX/Q/YtGLhBBze4gQ2SmMQOQi92MKAZxyagwqBE\n        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\n        fVEYjVEZnVEarVEbvVEczVEd3VEe7VEf/VEgDVIhHVIiLVIjPVIkTVIlXVImbVInfVIojVIpnVIqrVIr\n        vVIszVIt3VIu7VIv/VIwDVMxHVMyLVMzPVM0TVM1XVP/Nm1TN31TOI1TOZ1TOq1TO71TPM1TPd1TPu1T\n        P/1TQA1UQR1UQi1UQz1URE1URV1URm1UR31USI1USZ1USq1US71UTM1UTd1UTu1UT/1UUA1VUR1VUi1V\n        Uz1VVE1VVV1VVm1VV31VWI1VWZ1VWq1VW71VXM1VXd1VXu1VX/1VYA1WYR1WYi1WYz1WZE1WZV1WZm1W\n        Z31WaI1WaZ1Waq1Wa71WbM1Wbd1Wbu1Wb/1WcA1XcR1Xci1Xcz1XdE1XdV1Xdm1Xd31XeI1XeZ1Xeq1X\n        e71XfM1Xfd1Xfu1Xf/1XgA1YgR1Ygi1Ygz1YhE1YhV1Yhm1Yh31YiI1YiZ1Yiq1Yh4u9WIzNWI3dWI7t\n        WI/9WJANWZEdWZItWZM9WZRNWZVdWZZtWZd9WZiNWZmdWZqtWZu9WZzNWZ3dWZ7tWZ/9WaANWqEdWqIt\n        WqM9WqRNWqVdWqZtWqd9WqiNWqmdWqqtWqu9WqzNWq3dWq7tWq/9WrANW7EdW7ItW7M9W7RNW7VdW7Zt\n        2xQNCAAh+QQJAwAAACwAAAAAAAIAAgAI/wABCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPH\n        jyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1K\n        tarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gT\n        K17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv\n        38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DDi/8fT768+fPo06tfz769+/fw48uf\n        T7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogk\n        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\n        53TfDaei+IUz+GfuLdBTT4hzXwgTcHZ2Bwskl/arqKSiIBY5IUfHxBDGSN+d3ukCd4mBYQMtZFoOH+EX\n        SSQy9hIT+PB2X3h5D4tZuHZcXx3/OREEI+bplQV3ABiYNIiBYXdnhBhWRMKyTyUj6Vt4kycOFqb3egem\n        eseQCpqYixfuCOOY4AIrJfwX6PvUEBjYk+95s8iIE20YoZ/4WIj5xpV5bvQ6P0ckNnjJO3xrn496rqCZ\n        oPcjq48fXed1o8eUcCJArWMEOWwVk/56qS/7scAUJxj6hmGMXS+CrQf3H/TC43aVxAhDs797sKB6q1f5\n        iW/7IlCPiyepm4s+z/M4Xh17vE98S8EUQBh6vo+Fv4/8v2eFo2dGnVR6T2CDFqtOxe98Akf7h3ECQAio\n        OSEJyZf8fucKnpTukvd817cXicGUqu8Zyl9xWGBwjNfEwlf4/9f3/JU1CXrHE3CPebFgRajvfeS/+Px1\n        AsHf4NT/CgJEfunHisBv/tHOfbCw++nf/ut/fgI3C97nfsW/ePEv/w7xfvNP/+LAfvVvf7UAdvePf/mf\n        f/qvf/u/f/zPf/3ff/7vf///////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////F/////////////////////////83poAAACH5BAkDAAAALAAA\n        AAAAAgACAAj/AAEIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmy\n        pcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOK\n        HUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXL\n        mDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868\n        ufPn0KNLn069uvXr2LNr3869u/fv4MOL/x9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAG\n        KOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oostujiizDG\n        KOOMNNZo44045pjgAKroOByPPfr4mypEEilkbUTyWBCQTB45G5BJFpkklE7KJuWVRTZZJWxQYoklRgQQ\n        sKVjAyAkZZddBpmQkgqFGeZCBPwxpl8DEFBmQWd6KWVCeybkJgG6MGJQmHWKOSdfdtaJ55VpXonQAFoe\n        VOcEumzCwjNi2hnmH24euleimi4apZdUGjTqnYMWcsImluriJqd/Gv/qKV6F1gmpoQMoMEsTvDYBKaSM\n        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\n        YxqSslozrXa9a0YSE1Q98vGhfB2nDItVzlSW5J0bxStiE1u0xChgEIP4wxMHwAxC4DEDf1DqS1spkpzm\n        UrGexasqMAtFbg5AruF7yknIutPPshavihnAIAhR2utxLLW4bC1uEasYGCXShCqpZm6Da1cxzcU7wj0u\n        VS+K3OUyFyRMbS50o+tb6VK3usiyLnazq93tcre73v0ueMMr3vGSt7zmPS9606ve9bK3ve59L3zjK9/5\n        0re+9r0vfvOr3/3yt7/+/S+AAyzgARO4wAY+MIITrOAFM7jBDn4whCMs4QlTuMIWvjCGM6zhDXO4wx7+\n        MIhDLOIRk7jEJj4x/4pTrOIVs7jFLn4xjGMs4xnTuMY2vjGOc6zjHfO4xz7+MZCDLOQhE7nIRj4ykpOs\n        5CUzuclOfjKUoyzlKVO5yla+MpazrOUtc7nLXv4ymMMs5jGTucxmPjOa06zmNbO5zW5+M5zjLOc507nO\n        dr4znvOs5z3zuc9+/jOgAy3oQRO60IY+NKITrehFM7rRjn40pCMt6UlTutKWvjSmM63pTXO6057+NKhD\n        LepRk7rUpj41qlOt6lWzutWufjWsYy3rWdO61ra+Na5zretd87rXvv41sIMt7GETu9jGPjayk63sZTO7\n        2c5+NrSjLe1pU7va1r42trOt7W1zu9ve/ja4w2At7nGTu9zmPje6063udbO73e5+N7zjLe9507ve9r43\n        vvOt733zu9/+/jfAAy7wgRO84AY/OMITrvCFM7zhDn84xCMu8YlTvOIWvzjGM67xjXO84x7/OMhDLvKR\n        k1y8AQEAIfkECQMAAAAsAAAAAAACAAIACP8AAQgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGj\n        x48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qd\n        SrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOI\n        EytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu3\n        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\n        aIN+54i2Jnjq54SmqMaoAjNg6IVmAD0MAFh0aIcmQ5tRGoLGZ7Hkp306aEQuaIOqqJB2TNW46IDC6POA\n        RTLQ/yjDfehVOCiQvsSILueQVmm22IF5vuiAMsOHqt+leYWU+iiKWimZUgpYIBWMvmgGcGmCuiAB6ShX\n        RCkQlimdXqkqHOmRRmeSuqV7oqNrGMtx1qmgqlGFpik9+GeaYg6ckmZBgul3DiqkSgr0+KcSyGjVMMOA\n        WqpK+NhsjGikfuqjdCbVDQCmyuhT8KlrBCqoruqk8FrmIAmVsqqsGkm5zaqtslSb3qqu+pOf7qqvNhOq\n        /qqwDiuxFquxHiuyJquyLiuzNquzPiu0Rqu0Tiu1Vqu1Xiu2Zqu2biu3dqu3fiu4hqu4jiu5lqu5niu6\n        pqu6riu7tqu7viu8xqu8ziu91v+rvd4rvuarvu4rv/arv/4rwAaswA4swRaswR4swiaswi4swzaswz4s\n        xEasxE4sxVasxV4sxmasxm4sx3asx34syIasyI4syZasyZ4syqasyq4sy7asy74szMaszM4szdaszd4s\n        zuaszu4sz/asz/4s0Aat0A4t0Rat0R4t0iat0i4t0zat0z4t1Eat1E4t1Vat1V4t1mat1m4t13at134t\n        2Iat2I4t2Zat2Z4t2qat2q4t27at274t3Mat3M4t3dat3d4t3uat3u4t3/at3/4t4Aau4A4u4Rau4R4u\n        4iau4i4u4zau4z4u5Eau5E4u5Vau5V4u5mau5m4u53au535jLuiGruiOLumWrumeLuqmruquLuu2ruu+\n        LuzGruzOLu3Wru3eLu7mru7uLu/2ru/+LvAGr/AOL/EWr/EeL/Imr/IuL/M2r/M+L/RGr/ROL/VWr/Ve\n        L/Zmr/ZuL/d2r/f+UEAAACH5BAkDAEsALAAAAAAAAgAChv/bBf/cDf/dFP/eG//lBv/qBf/jDP/pC//0\n        BP/yDP/8DP/iFP/pFP/iHP/qHP/0E//+E//zHP//Hv/fI//fKf/jJP/qJP/iLP/rK//yJf//I//yLP//\n        K//iNP/sNP/jO//rPP/yNP//M//yO//+PP/lQ//rRP/mTP/rS//zQ///Qv/zTP/+TP/nVv/rVP/nWv/q\n        XP/xVP//VP/yW///W//tYv/ta//yY///ZP/za//+a//vcf/0c//+dP/0ev/9e//2hP/+g//3if/+i//+\n        k///nP//o///rP//tP//vf//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/\n        gEuCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7\n        vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3\n        +Pn6+/z9/v8AAwocSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKl\n        y5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4od\n        S7as2bNo06pdy7at27dw/+PKnUu3rt27ePPq3cu3r9+/gPEJCBC4b4AAAgrrPXxYMV7GjB3XhRxZclzG\n        gxFXtoyW8uHMlAdz7gxa8+fSmEeXxczaM+vErgaonul5sADUqFkN2C17NkzXkDOXhq1qgIAGu33HBB4a\n        cqkTJwod591b+cvaCwwEbyxqwAQVMmiooG6cN3HrLTELWLDgAIMFAJyP+k6jPgsKu6cPaIAc/UvbARjA\n        HgPvAVhKB/WFJ8N4+wlQHm/+iWRcIowJSCCB7G0mygkJJjjBbvwht0ByEYLkICKfBTDghQwIyJ0jhEny\n        Qgv11ShDB+SNiFx1JW6U33mDQLYAixhqF6Mjtx1pyP8AHRBSQw0vvCCDgjRM+SF5DpLYY0bG3TZhIYxl\n        R+R7C7zYyGlK3haCCii8AAMMUUIpZYf2dYDffjtmyeOWFHlZHpBCGiDgkAwcUGYkrtkmQAgytCknlFC2\n        EF6H4bHAAo68NXBcf3xWlKWDoBJyGyGHDZrdApEkCVpm3qnQAgyQvgAlDBzWaGuVU5Jwp557duoQqKB2\n        KextxFHGngGpomnbBBxMQIGbskZbg6S43konCxfsB2Kvvir06bDfenniEpRRgtpnGnDAAQUnxBlllJPW\n        iMO8dNJAgrZadrtQfuA+KC6/g5Q2SXOfqbvuBy20MCMN8/aAQ33zRvxwgiRcma//vggFK+6n4X5KamrJ\n        blewuhd0UAIOOqSsQw8OMxyxywl6kCnGDf3rL8c3gwkaoiLbNoC6IqzbgQwrr/zDDzpILHF9HlwJJM0J\n        2eznxsD2ahokmhEb2s8Gc9DBCir3MMTYQwSR9Ms0yAwh1A79SbWwXT5NroaL1KYiew5aALS6FBC9chBF\n        EEG2wxKPsOPFbC+0sXEh8mfeISAjmfXdDDjgQNcGi0CD0UMQIUQQZfdwwwwzPNzB4dwmnpC/+zlggesA\n        GyIfz+sRqHfmBpPA8g+dew6EEEL4MDrpNOA4YuqqZxwsf683j5zcV1MypAMZiGC99RwEzYEKOvwAOhGC\n        AxEE/xA/5ED6DC5ku3byDf3YuuvwOw453ZBMnz32GHRgwv4s9MA7EUUI3O+AwIPRvckFglgf+xiyPNc1\n        z3L8QZGZIsEe190PAyAwAQpWsAIaeK9zgRvCD8hXQPS9aRANWGDbhNUA+DXPAiGCnGjMdSHXYVCDKMih\n        DoIAurLxQAc5uIEQDXhCFb7jAhQARZf4YznLvQ6CKZQdYiqhIhY1QH8b3ODmgJiDLvbAfCjY3wpk8Coj\n        HvECoNBT4/hTgddFUIpKQlTtULUED3xgBRt0wZQYlgMums8EHuCPB05QAzN+owQlYETJKIBGTwhLEOsp\n        T+PmF0esVZGOHdAfHmMQg/BETP+IM1jBCGDYADoakhuIRKQiL8DKRnLiSwEDliI0Q0XbYBKLK4jBDDh5\n        vhnQIAYp8AAMGSC3U1YjlSdIpCIowMwOlMyViFCmJfg1LkpS8TODyCQIcqlLF+jSlzQI5QgwwJ8FFNOY\n        0UilOhfhTEYy8pmtJMQ6L6GxWVbyETtbQiYzaQJO8pJ0oxOlMEs5KnQmQ52pLARCk5lQQ7SSAu20UytZ\n        2SRBIBQT5kHe3CqRz33qzwUg/aYvZ5ACEGDAAQW6p0GFoU6GIvSlyCwERCmKxA6QYJ9IXKRFEfkBEEiT\n        o3+yp7lsk819fuAEMHDB+cK5gmDC0JwFXakxEOlSmFr1p0v/oKmdOgACS1lKBSq4aU95Os9L/EioAxPA\n        BUxQVH66AAa9/GVJyUnMJEn1GDD9gF4XikxVFgKJ7yyZV6f01Q+k0qd7zQSxzkkuxs7SAjls6wdQ0AJv\n        glOcgSSoou5ajLySgASGpSpfD0FRRnZABSyYlAxYEFpE+pSnivUThVTKiAqgIAYuYKtHjxrS8wFzlA2o\n        q6ocy9lciBaRIwArCa7qV4fSFDxLy2tDzVoeRRD3EB247S4R6NESnICDvWxqCF4HVcQstrgsVecHSABW\n        FbzWqolgpWllsDQZmICsh8UqJeI2S0hEyQW3xe0MaOVRHIo0BqLcAHkVtVlUaBS9jVAv/3vbC1q+Tvev\n        Eu0AC2D2sBOgIL9lBWo1IQcJOIWUky54Eq16KsbzrVYFIciA5YiZtfOWQoEQnkQqRzBhCpNgBCPY60Wd\n        20oVuIxeePxwCVq7ZP1KIkv9fcR/vYlbFwzxBknNoVJHmuAnFmixtJ1mvsiT40p0YL3s7XGP26sCE0AH\n        OhfW50Q1DLGHIVjJ+A2xJLoU5UeA1LJvvUEXgwiDym45lDDOQARmDNVRkOfRDy5zfD/L5kqDdVJVriye\n        CfFQi5qggwkCsJIRWwJSO9kR1aVQJEB6vhTXQNDTQuCb4ApMEGygicGNaige7TgcS9oRF7C0mo38Sbi6\n        wNBwHgQS5f+Jw1y6IJco8LB0T90IXRviuoRgdQ5+4AMbDDG3gngT6VZg0ieilJimgPS2Iv3rQvCYzWuG\n        7rzON7w/J9sQqcThBldwaBfAWZ2v3e+ILwHSG4yQgDXIwZLDfcBaw3DGBapEwh6RKXW3GxIgiPeaUYaD\n        K49udPb2ML5TmcPbrmAGfew4SKUd50jwWRNK5QEQfueDJy18CbMWJzlLyYBSmvIQCmsB0GckdFTzGl/s\n        vngqhw1WS3EclB+v98o/LE916jsGgwYi+gDMUIwmnRFv3bYPfAAEHwRRmuIGpgfIyZ4FlHIRCUtYlAQR\n        96BTHE8hqjjiLq5Qhq7X0ql9use/bW//hZY639GOAcr6GESQRye2m9iylXlg9htUdNbPBkEg0b0Ezici\n        6HKPO9EV5ogKmN4CqK+A3n3N90EgNN6opW/KOj744bXg8a4/PEJvK+hBqxz3GMW2I/o54BncoAYzUOas\n        Ha4p4S+h7seOfpQm3gjUWz/1vJkA6lo/8sNufLUbntcNaD9E0t1ev+olKwqU2kcu3sAFzcXoJj76Vlrd\n        fAkv8Ca52e785//3XXJ3bC9QfdeHeuS0G8/0IVE0CCdQdEr3epfWA0HwA7HnMl1Ee+iDZz+lgS+FAqXT\n        RUB0A0q2Cf2nCCDggW/1AiZQUQyXW2v3dpEAegrzf0RXWwWIfd7h/wFg5QEsuARvBnyS1lJLNmFiEwQ9\n        IAMkEH7G13E4gGD39VKMgEjsx3gzEEbxZ1aYkEEmAFJJ1QIgwIJJ9WzjxB8lOIPQV3cOiAgNYH0YcH07\n        4iwskALeBR3+ljDQwXcwRQI0wENH8wMn0FOpRTw3AEz7sz9VRW2udwKkM2gxkENdlwlfdwh6ZVjrt3Uu\n        kEmDcECA9FSTECVvMiMuMH2hOHdqeHptZH0VcDgT4GZ0eAL+9mZpyH1LUAJG04c0gEhuJlImkAIrUIhP\n        KFqLIIUxIEQ4AG0jaAp6JYmG5VPrl4IrSAhJRW6BxB6SACs2wAM8YANEl38Jc2yxmEAg4jgNUP8BS7Bu\n        EzCHP5iOskgIM4Iy3YM0DJVDuhQDJpBBKeCL3qVnhABn6/dNWWSFiNgJpWZYe1WQJ/hnhfYBYJhlA/Vz\n        jlADNpADYzd2NiCAlXWR1DcIq1cI1HEB6fiKb3ZxNQAr0iInm/MwOMAyLqVvHgACLqlB+wOFiPBvlZhD\n        xniFokCQoVWQPXVyuLVi2eZNJgWDkACRlDeRPsADkTKDMzJ9Gvloh8AbHdCK6Qgd34hesfImJjl7NPAC\n        K1NV0PGFHeAB9eiLMdlyPghnb/ZhGnSTAbkJk8iTcblhW3cCPQhS9ciJkWADO4CUY6eUQdeUcZdbqkdm\n        ibAbc3h7/gaSDdj/bnAyMfKSNLOnMCkzZIJwgvX4kmf5iPv4ZnNoUf24S8d4CR/AVomAX0JWaiNAX7tk\n        AgqZiQA2lA7ZCAl3lEjJA4WGhpW1goW5I41wVNBXlXf4ay3AcfOiMiqDA6/yAvPiUoQgRpmphb94helI\n        Va5oZYxIdaTpkh+gCDu5ZHGphykTA5qHAbCJAiBgAdQYCRDZl7dpA3ACeoRgMXt3CLDSe0EknI0paS+w\n        RciJnPMyg92jA8lECJpZUpppiBemlh9pZTjQRTFwAvcVCd0pCD31WiDgnZMIniCgVymwRTQASBhgnvgX\n        RpkVIrIEd+/yJHyZA0tJek/JeoiQcF2EjV10/3v6SZzuKJn/OW/9yTI6kIZnpoVfmKDTKQjHVp3JdJ3G\n        N4hWGAlkZVj1WGqKAJ5j5WEo8AEfmjI0wAIqgAEXUJoueFIO8Dw29nlm2JQwcAOCmYaG2QgvMGg1eqP6\n        eZWcRSP/maez50sp4yaDoJBntj+a55LSKVoghaNL2qBOmkMTCgkEWWqEen+GMIke9me5xQIpiQPgJ1Yb\n        5FQQFDcDVwijF5iDMKox+nW3d59zmgO0QpUIxHczMHv/uTsT+AOi8yRPMoCZBKgsZo/7kwIl54qkE33C\n        6V0gVXI5hJMa2mQ+VY8EaQgdaliuyEucxDA6UCVeelMnmAIjcGtlygA/wv9Y04eG7NiNKCSjhoCobyaA\n        WKau61ics+o9ARRARBAEPrADO2ADhbQEgHpmu6qFHCRSV2aJaomOrrgE+1Nyb6lQj+qSPGVYhdBalfVN\n        unSSL9YBGECWKDACwlSmzUcsGqWbQFdZ4Ph1VKmu0fGKiymLMGCtyOk/RGAEMhtCM9dtNZBMYrlbLNaW\n        peNxAxaGSop7+taojmClt+WsriVPk5iLu9S0KdmlGGsBF6CF41Sm4eoliTCqA4gILdCd6FoIdviDiNqZ\n        w8l9NOKO7iiBRTCz4CM4QqCUYRhGeuWvRpVBYEN+Ayt93uhvKPCcOLSwf1pqldiIVEoIcVkC0bZl34T/\n        MiiwdhhQAVNroq9DTWcKtqG3tYrgm4zQgPoJhGlZtq3XAj2aMj8Qs4EjBJ6TlDY6Orf3Yf1qVKUpUni7\n        dSjXeF3IbIwKuI96aPQ4qaQ2rdRaOjNgAiNqevoTTG3oAOZRTyMbd4xQn4bAubBolZ/nue3Wn3qaMoAT\n        OOCTlH3YAzwQRCvnrJPoryzmgQA1RGtqo43Hurj7hBEWWoc2vFE4uLqEAy7gAaw0ASVTj+NltaBqbaVa\n        d4vwtQyYjmO7jozQn0uzoxI4BMDztn3oAz/AvlvHqIXInYNAfE0qRDmAjeHbvjBQCIVYoFEYWopIOr0b\n        hSfGMLxpAZCbQWvnsQEs/8D4R6qKAL2FML3Uq8COAAMxIHfvcpIrI3NCAATXOHbctsThi2W+hcGFcIIA\n        ZXw5wDLs+20krEHKqgjaRb+M4FPeNCkmdQHG65Idq1mLJcCjxwicsrlV6cOPAClyMmsMnDQ1MHY78Gof\n        vMRHA77h28S7hEemWQjo26SUV8EhTGiGUIiA63omsEsZygg7u2Ex0AGQa7wi+q1Xi7WWa6eEkHQNiKMZ\n        CceOgLmiqng0AAN8qY33yQM9QMFKTMG22niclKWL/E+CBsJX/H74FpNQqkEVuggX2lWNYskwhEGa50Yf\n        G8CWa8qX8MakvAkzIseZuKYf7D9LPHMTCMj02IOCMP+tAPXBINxFQnR7i+zLj7BkLvmbZuwB+wfDFYDM\n        J+U4aZzGg2B3mSC95qwJaMl9sqJihaCV15zNZQMEXwRyHdqD0BFgvaRUf3Z+nlsCRFu068xOhNqSgBTP\n        pteSIaBgDgBVi8VC2SV3mqCOm9BkjVxm0LKvhVBwNeo9PUQ+B51MrykIyApgCevQSfqDi7zFiNBTwZwI\n        HtCSQ51BxtwAGDQCMabMIBvSFpBBo1wJ01sJoRWxZBXNg8DS0VtZHixzQDA241M+M4Czr+mKyZaxbmap\n        r+hdvTzIFL0I8UzUXGVSbRTPINDRGZABbjQi9TwBXBVt+cy5mIDSrdVaWB2Faa3/VDfAAwc3PuSTA8e6\n        ZE0CuvqUQQ8NkvqVQSndU3CdseXpknVdAR7QrXptfVYb0khNpJfgroPdoQglZIfNTnt1nXC1x+JTdiDn\n        uhl0CDyY2Ct3b8wGCbClCFzFgxhkzKg31Big1000uXEzAGG6PzVNCTzNz1GafgHJv6Q8t8k4CC6NjV9k\n        PpEd1ISQPyBwnYwZ0Sld0d6JsS1JTsfsAUsNP7gGsn4tqBjwIZMgyp7giE9Y2D49ARNQARMAx/uECG5C\n        xauLPjRN3tmUQdfJoIvsqA4OrYJwZqbXRhgQAsuNeq7TQqftHVNbjxfwITasCCHpCeg93ju5Xs40n87i\n        LElk/+CLAFJ6PGjvB2CSegghB9yUUOGLAEMWsHYe3tweuyMj/gEXYKbOR9nWXcjDCp5N9gHKRQECbuVX\n        LuCxXeM3HkQzcH6RnAhUydaWEOaRkLFt+EAttOZuVwFc9QGPG1SOsM+cgFCs5luptJMTRgIETgEV4OcD\n        XuBbvghu4sFCtHId6sbRZr3pTAkjytzm5rFtPtfe/AiMbgkonUqKXXzwR9hLpgIiYOUE7izyNeODDndW\n        dnw5LreNUN2o0AHXh2vlpMOrgF+kBuUrl1d2EuP8SwGfZeWmfuqKwNXHVwOIXrROPgqPa25rXkpvJAuZ\n        zmRb2Go6LpMXAKYYwEy+Dlahjv/lwr7AqT6S5+cIS4oKqdhER3480P5S32msVZZMMemLEjWiys1IbMZM\n        fx7s344INo5l/tbIyQ4KIQJFpQRLrpBnutdci26WhRhGJiDgfj3UQ21T8IblzrLvYPdWM5B/2hmFp+Ds\n        jeN2JegJCF/VipRB/wgCVp6xEj/a8dbtA47xcKrxIGULmrIEISLyr5Dw/XwIEH/fG8SbFyDxI5ACXmpp\n        YVUyMv8IrxKGtNDGPjfy/PxeO74IJX7lVt6/YQSmIJACRv9VSC9Wcbn0jWCps+CQL5cKee7TPv/zWM5M\n        146ZmQRqCXL08BaXk2jmZP95+UcO+gjXWc6//Fsy+aNNF/r/adbyYhSW98+693P+qoeU0oLw831+7ddu\n        vpFqdQHGS/XBZmcG1N192JK/D8wU4wTeSrA7zFLeodHqXf5UrUcPWnGp96Tc8/8A8X1uWqkfqTrZ+xuK\n        uK8fA4sfrUCuwAxlwt8AK6GA5eQoidzJnXgf/XgPxiiWpewV/bGdj7a/CZcuC+6SCq3f+hsq/XpF/FL6\n        7+DZknif/cfV/ZkQbJ4cC3DyLp44wqFgpeQ//odb4Q8LCCUfg4SCS4eIiYqLjI2Oj5CRkpOUlZaXmJma\n        m5ydmyUlMiygoJ6OFR0sKzWmrYkvNS+yLzCsroclIIQfuru5H5i8u7sghrfHyMnKy8zN/86cJSkyNDKk\n        JSfJFRUjMjKyz5Y24jaxNeauw7vowh+C7IPg8fLz9PX2piUs092kJyXJAirok3EC1j1GO3wo9EHOnK1N\n        g3Q5S/cO3sGLGDNq3JgJlD5q00xYaxQAgKaSArvJKMcqFqxY82woBEITyA5z3zhCUpdoUC6dQIMKHXos\n        H4ujSAfSoEZt1MhFAKIGuBRVwIWB3hy6fPnwGQyZNYXY3PqCqCJej4CZXcu2LVtQ3ZiC3LeP2rVrKE7o\n        RTRAgIAAJRkBKDm4JODCA1ToYxGjICxxDg0+m0XLRkIfO2zA2FzLrefPoENnvKDIH4uldePGXUojLwoX\n        sGO7QIGhQv+DBn4BHzIMQIECA1KlCpigeODRWjuSN+y6jFYsGIkg0+K8WbT169izc+rAXVE01UzB4xgf\n        w8WMGTfS3zjvgoWKDhgs2L4tYMFfAAkU8PabGGk34zUslJk4zcBQliPUaafgggw2iEgHFHRAGiJwgRce\n        DTjooKGGN+TgYQ434LAeaiyAgMGJ8t3GwAIL6AfYcB4cJQpWosigQxBACIjRZgc66OOPQJrFXYQXdEDh\n        R+BNk2EPOvTQQxBB/NADD1N+qMN4NKwAAggedImiBQ440AADDVigWI0qpSnDD1AGoRAPGTEX5Jx01imP\n        hBEOaSQuSbKWoYY9sDnEEFFSaSiTOmT/uYIJKaQwwggheBACBhlYYCkGNKqpEpttBmGDnaCGKuqPEuoJ\n        4Z4fYDjeeFfS0GSTTw46aKFO1prDDDLEEMMKqqzQ6KNdbrABBh6kEJ6ma3YaRA4Gjurss9C2NWSEeVIQ\n        IQiwShloDxi+GqushNbqJA406LprNyvwqkqjjkIaQgjcsHYsDU/+oC0PLrQQ7b789ntQnqbmSQIN9kpp\n        L7d/OhkEuD/wAGuiM6QrMa+8Nrpuoyo8Cqk0q8qLIaIfumCCv8lMSPLJ/J6q8sqKBVrwD4l2qzChQfSQ\n        A6I6RJwuuyY82u6j8Er67tDwrpBhx92KeIM5LqCcibXWJnLBBBQ4/231s6VWOy0JKsgQaJT2XskqoFLm\n        sOGVETfK6JYgEB2CsMLGZ4HcllrggapYsgbDDAlebQnUU1NwgbUV+G14nUXqSS13HShGcKc/rDo2DR2a\n        rSEOMTi6pQdcdikp3HQ7YGmYKpKpwlzdtFCLOZwdTgnUgk89eNWu185g4tYyrjUJ+uAAJc04b0iDeeil\n        h4MMmo/guecnnrhB3Q5EcNv0Ddg3AAlqsmBgDQbCUt2cF4Qv/gQTDF6B+LDHLri1srMfO2nwhU817Cbb\n        br9ojOd/KsCpTPNkmzA7m4ZmYK7irWdzzGvel0YXJglQ7zYLIFMH0jQKfrkvfBQ439SohkHAcf9wduXr\n        ILG6NLgQBu5+KAQNniC0OMV1wAMmWIEMcFCrK73qbObS1XkIaAIvfUkbDZiPmFQEgQew6Ih+scpiWLAn\n        w4FwcCWcnfoowMEIcY5LUnRfCrdolhbibmVEAgGjVuCqy51HgJjTlQtyiILuXKABQ1TREZH4AAhAADB4\n        XEJVjqKCCUyFi1AU3PkAR6wRsK2DF+SiIoGSvxbujztFEmMMWUUuHZ4NB2tcAWxWgIJOJgKC9mFRbqZy\n        GKlABQAkIIEfTbLIRAiOgx3gEpc6UAEqYrB8tGulLjFSql5WK08XkKTRbJhGXR1tBq/pZF70MrJEjPIw\n        lgjABAYQlV0y4oX/L8SA/AAXOMFZ85v2GFzAGskdE0zyTziYwRqVKQNlukaZp4zKYDJhGHBKTZtSDOT8\n        oGjPfsajVLPTX562NMOOLeofS9gSXlBwDb0gVBH8GUADNlFNfx4ChIBjX/0sytFlJG5aWnuhCVTCAhOA\n        wBF6SWnTFnGiC2CAE6xMBAFmSoCN3OY6gYxaR3f6DCIxLny9jAjbJNKIF7gABkddaSIscNNOyBMAMy2A\n        VGuakQEsoKmiweBGecpVZPRyZdwhhCSX+QgY3OB7yohKVKVagJlqJIkCGIB1BjCBWnb1rsnIX0RAYU4T\n        dFI2sXlBC1rQo9K44o+JgOpa20rVZXAHA7l0/wRc/SIaATgQr5hthL4wwVdl6gWwsNmhOvMFDnkqgqYE\n        YKtbm8E2SDbCPpMVgCuql0QDIPYYAcBqZnc72M1aArDqPM969rY32eQlHoOZ5yEMgNqZKvYZYmwtfBSx\n        otjK1hTUm+MCDPAX2+oGpgt4kVx3i9ne+hYS5m2BcNWTnu4J9iCGMYB82crcp5rWmXmVpElBEL8lTO+q\n        sE0i1SZgXUjUlXzaACIQ/7uiIwYgvIap5yQKY1kJjJe8XDXvexGxOsGmt7e0UA97BpsRqcj3AAfITwLa\n        at/7LsEvDajNAo7xAXN20qQfgA+YIAjXCYRABRfoC1wpUQHyITjB83ngmP8iOMf7lPK2ifAuAyRAZQdA\n        OLlQxrA1P9wCc9iABzywAZfNu0PZYEQqgDlxiiGggAS0+KmIEECZMBCmGd8iln5NlzmVhyL6xDVGMvCA\n        kJN4CSMXGckKTrKKltxgFgUAOIfRjXwXEAEqW1oAWM6ylnf54Rp8+U05GLN5Z+NJjKT5MAY4AAMewOoE\n        EODNMT1EQE4UJgZUl9CdwPNrduWrFHBJxhXgXTdUMOjrPu3IiK6AfOSjaEazCI4OaHB3HaABDViayph+\n        dGA2/c0Pw4IHC/EBD2AgakSYcxIDkCgz6kMYANja1ig2wCHsy4gBEGsDYRKTKANg7FyDIAUxOM80CKj/\n        JRAU5z8UGLInBkzFuiY7wUMc4tzoBqZqW9za2H4ytznN5ReAW9ziFnN6C51uuiL30StigKrlm9iKLsJu\n        HthABKIdbVybwm4gWEHAXaYtcs2FBSEY9C3It0GHM9tSygZTBRyAAdBh4OIXvzaaN65LUbfg42/y8Hkl\n        UfIGpJseY7L1duXrcj2WHREVIFYIMlBrW9u8E7ex2whSYDRlMel4KgEyZbNRZKod2uHKDjwGiCYCDnAA\n        6teWAKaBQ/Wqj7kGOwBzmLf+iGlOs+QTuEe0V0R2aCaWEQIo5Nrz3WB+e2J6YZI7wDlFqLD9HMiRTcaA\n        iY5sZatdBLjH/eEtnni//5y98Sn8wAk6zhXoQIKuJUd+5u8xUbF33pSPwE0FODeCDbCdAZu3D3aDOL25\n        zX0GgmpTD/BunJM+w8hUbHjfB597Euie94lXvKaBb78BdKAEVs/JIpLP/wvbQ0wv5mCEQRiPUAFyhgFi\n        NAIYMHPRJkp71wlypmyphwFzdyNQwiaRoykooH/N0HAMh2Dsh3vuJwLVFn+Whhv0x0XpRgH4l17D1wKw\n        8UnJZ3mWNwnlkwzZRVm2FWuQYBsBEUuOggG0lUT8Nn+YcFVJJzoWMAIxwClQwiQ1YhyENQ9GNj8TMEK5\n        934meG3+l4K1g3kdwEnq0g0nEBslQAHIl27kU3KS0P93y3cMcGQb6RZXmxBjMJQCk2Jl/OYXENZvcJd0\n        TGUBJqAD9hIlPaApR0F58eCBF7A8uccBW3htDuCF93N5A3ABFHQUKFAeyNQBajiDBlaFyIB6TOVnnuAB\n        c+coFnBr3KVwrXBVdWMBKZAw5PIf/8FEGGFLy9MlhReJXEiJtqN8V/EfKjBUfRVklviGjIBg5BN7rVAm\n        SOdnfqgJ/7YPI1BdsPVg/AGHl3IaHoM6KmCAGtGIu3h4vlhl0wiMVpN8FDAQKuAB8WEbGlQBalh5bqiM\n        x2Ap1sdUrvhbJ4ACiYACM4AlJLAieDRZdnYLQQQC3ygvonABb3cPLuVSzeMA5xj/AQ+ojn7ziXSlAsUo\n        N32Xhl2YCFWIYMoAjc9jKbgRkZVQhi7gki5ASTSgAmymAAeQjscgZwzZkKwhA0GWkRIpPiEZf3S1hhrp\n        OpY4ABZAPo/VPPTIho2AfqI4inWTkmBSin2xCS45fC7QLa1CAhLAZjiZk8QxDSBxGmZJDR1gihfRdxk0\n        YIlXlPh4lOtoeXRVbSXXPPIxkohgaAdGPsugjykJbflWPZvwGv5ARqvSKjR5R/Hwgy/0a/GyFExUG9N0\n        EVRUZB44AZUmARpQlIVDl4fDfxlweBaQbgkmH4uAYJm5mZ6wVYdQlZWib0ooOmHyCXrBO6rSKjIAlgmJ\n        DGrh/0xxFYEnwjk6RwMloE0ochF/WVcNZ5EWNnuiiZQlpwGGxwFJOQChuQRVyIiA2QmxwwiAWDe3kW5w\n        BCakM1Ga4A8gwDsy6R4awIM0BlFwNWcY8ELJdAj3iRHz44ZTMwAOQFe2NJ21Y3nWeZ2Xl3Ynspn3OJeY\n        ID7iOZ7KNoT1QTpD9JuUsCcpVQK62RQqkErbqQwWsQT06Ir3yTkhOhTM2HcEWqClaXgHeqAi4CVSaZKc\n        UCQ4ugjjCSZ8MVkPlAlNlFJ60Z4skEpGSgIvtQw5phbzMY0UyWxr0YwN16JIaQHWeaAcIIKpBI9/952b\n        ID7h83KxiHTCCVfPpp6X0B1LIP+kQ3qkbtpEyUAISxCPaJoI94ki2mAWzAibVOovzTgBMGp4GyA0kuIB\n        bpiilyA4EhKmirBsFlApKZIIxVYf0wOkOXYIbOoPbmqkIsCn6NABOXYij3CntZGnKmqqfYoyztl3MZoB\n        I+Qlh9YJgbSojRqLdLMISWSeZDImQKqhmXoCR/oUzZBjoAqnjXCi8YiqSxCcGeGlqUoyJTkBFmB4GTAB\n        u1gbsio+pSKmj0opZIqr2udf/xUJcrKkS7BMmfoBJNAO2CAPwxAJyJqsSbqsxvqsKViSVlqtCuoB07Ud\n        EAKmGyU3TWeVlEAffJkIxpcIjIMI2JCuwteu81CsI+oI8cr/bKJKr8xqr/R3ZNJ6YBrkqZLQQTiqU4hQ\n        NwNbN4jaCZsBgwqrpoyQqfUwDPXKUtgEkudjJPmjsV4YrROAe1P6oECFJ4pqpybbdJCaspywGbChL79A\n        rI8gpPcQVqCasYzgUszDbC4ltZeqs8BXkhSQe1R0CeKkUbSKCAILN8OimsfAPYLVNChgTvw1s6Xxjwcx\n        CBIrCdzhQ1h7n0sKqlxLdcx4hVnIAUhbtUB1uBCqnwI7sClZuJtgIAaSL2/rV70gCRBrD2HFE5DwqvBY\n        tIzTt3+7aX8KqFoqAhsgCRr1PrNjtmcLOt96C9NhHrDhVyiwKC5rFnaruaP6Qnpre59L/6xUG7pdFbhv\n        k4Wdugj8yjmLCqaLGiGHAB/x4TyuawHJAAsiJjJ5dmOeQQh3Gwl5m0CXMkLcG7zCu1P+6T4UgAEigE95\n        a4z8WqyH67zQ2zxom7aOuwnlIGIoUAxi2Enmd2dxmg5yqwjFWagnog0ngk3F6rfle1dvuLwiG0ls42tY\n        JEY5xk/zK73Te7+aUA6bkR4uIAjZuyhE5QoeIKLA2w5oAQlFQn2RQjcnmrlO28B4NbJEAlRsMwI9Y1Ll\n        ZE4eQBqNSL/1m7ZqewyywD0fLDI5VgLuhGMDnAkYQL6eMLX3l0zNlBb/5iueU7T8uiXEysA0vFNahT6M\n        AwKGZFI9Y/8i/xZdPzy/Q/wllDCWReUQHeYPYdVX+3W7rynFneALm6hMV7wIW5JnXDI0i1sscPvFYbxT\n        7POv4sM5JpBKj8LDQDhU8Mi4aIunkwCU5DodNTAD3LMEJtC3scQ2fKwJCKikPrFJnPS2D/W8vFACfdUl\n        76K3qpcCiVysi9xP/zokzLslI+CRH2pIjWjJRroBb/M2cVM3myzHjHDEWjEDZUHKoLolT/ylseRYvHAC\n        bHRjwLCkYgW3vNs5KIKKakPBpLzLu6St4tTOkdQzXPOhJNAlmyOCxaECKZAxGRMClhLHzrwIL/ES7fW8\n        n1vK/JUMFpDNylDNLqBzMZBMb6sLUwv/ztbcwpxjwPCiMTqMY0IlXdesziijVetTJOvDHf8WzML8jh4w\n        giKIFPnMAuwSH838z4qAE1qxNA+Swtb80ZmAClKsiJfQDq/h0JrESe6wC1NrfieKikOj0YY0d4yCx3Br\n        zSBdO/+aO+0MUNYCzMJ8FCyde8Xh0o1iIjNtCUfMFTZwAz2ywPxlzaesCdP3v4sA1JYwCGWYLpk0G6OM\n        1GJltpHZNvCCzxpjxmKEy4xi2PvVCGBc1fsCRVkjtI4dSVyDFSOYpbiXFBYThGVdCSxhDjngaQnLCJzz\n        1prQAFPrCHRdCSCwibuiKzpHwrmru0tg0ebsKyzgLiFgxuZk2Ozi/2vXtLWMzS84OtwsJLL3yQFnIgok\n        cJ2WHda/ojyS0I+SwBVelgPkUFiKfZIeMLGKoFSbsNqbmNezcQIUAdysG5l0B9OOMimRkopRnQJva7dn\n        Id/B3S+BxM4ANTjWyTvuoQKFZ9m455GPMkuSsIc0nQjl8BIfclYHEWMrzAgs2wmd1NqtvQLuMNFyugjp\n        yzmqcBQpcNvDIilmzDPmBLoEnbn17S9XTdLq80YHOtlFCuBZGCn9CgnSPd1c8SGffREOLtfd7d2awMQO\n        7doMBc5I3QhFMnfqsjOXPKg6rDY8bOSCQMWkneJ20s4aVWRXangioBgqcJ3G2zzXPFmXAAtHbP8DOcAD\n        IILdYHefJfzjbG4JxZBns1Eee43hso0IW9IoO3MU7zIshfRvjZK71VziUsvTVo447DwBFsfcWaoY/83l\n        15k4jzBKnAwJZl7dYLbjPM63Pv6/qsMJPsGm5X3ki/DX7MIruN087a3D/OoTtDvKFyCz5p3oosJCEmIB\n        nhmjWCoCMe7oMFokkmWmlsC2j/Flan4DQF4PZbLdGRucsBHnkxDbpU7tGY4IQQvJ7AI0f34iGW1IYlS7\n        6dJJHsABAPPFJm7rVx5IDVBtMHqlB+qRwH6dCV2vcLWHZs0VHSJ5mqEMHPxJqLAli6AW+aJUVX4I1U7r\n        5Y3t7KNN48w5Gf3/Ls0jbHSnc0PNK1/Ot1o70eoeKlp9pWGZeBqQSsz93wfKqHEWW8XuEuYgeWoe2sfw\n        74iwAHH94LhwCAXfI1Vu5AKcwgpPrCN9QUvdJRrzNuqrAjgA0xJTu15ueIeezh0PKoikARnwAAbgG1jv\n        G1jK5YWHpfVj6Zf+CJaxHMgubjmw7K4g82g32hn7UOax1pJQ7XjO8zLcASJQ3OtDJEttxu8CKUaqD/hM\n        dyiAFMvNAQUNvFEfKtrqTUtQElmv9dcJ8lCHrdZ14IgAFj7gZZfx8syg9oeQdpXbEwQf7Qh/yuPr8+X9\n        u0YOSXmf99mOihojz9gjAyKQ21xD8oYXIX1L/9+Jr+ji1HIAgABYj6XWZkdGJFuBd+8sKfY7UBOZj+YL\n        wQNqXYBwZwkxFvqIYBGwgVQIf82ljucTPfdIbSTcRD8j9Cge6R5GOmzyHOkcsAEbj+i9ryASIhhRUQCD\n        set2hJATBQgCAwKEC4YCS4kvLzA1iY+QNj4+QJU+NpKTPDkwkJ6foKGeFQ2ioRUYHyCrniUgSy4uMDAu\n        iR8fpo8fHbe8t72/wb++v54XFMjHyBQXJCQqKizQzs4s1iokHNrbFB28vLnh4uPk5ebn6Onq6+zt7uMX\n        oQDzAAGE9/b3ggsMDA0NDBwEdFBKUY1FB194srGDUiUhQnjwmOQjhyNTE//akTLXAIOHVbggqVpyooWs\n        TktumQMmjNguYLmUKevAQYQzaNKoVZu2reeFXd7eCR1KtKjRo0iTCg1gr+kSAQvuLWjgQGDVqw4gLdr6\n        osbBgwwdPhTi4weQH5tqiaowQOO5jh9VisRVIlYNWinBnRsGzFeHcjKT1bTpTAThm9hE9Fzc7a/Sx5Aj\n        S55M2ShTpokEMI06sGpnBgs8ge1K2ivDSkAgDiFyFkgPi7nauuXoUdWrRyWKxZqFUu45v8JCkrtAfNmx\n        EIaTKzesQvHixRviVZ5Ovbr160WdPoVqj9/Vzv8+JfzKVRJqiERYA/HB44ZCURMysmtgwZzHjx9LoED/\n        UeLEEhC51eXCDDfgVcxefB1ojnEyxVcBBfFNoIEGEkjg3HPPYafhhhx2qGFThOQDFUBWeQaaeFx9RcML\n        kkDkYhFFCAHEJiiFEp87FVRQTgcejJDCCimYEAt/JdjiygkDzhJLMOgEJ9yCxS2TyAUTQBifAxVqcCGG\n        22jg4ZdghilmOyJqZkgA3l1FFUCgjGZDVzTggEMOPrhIRBFGGEEWDxeJ0oB87ORozkcrxBDDgDHw598S\n        uX1QFww33OVCo0+S45JvCy7DjHQTVBDhBBVKoCWXPWHg2JiopqoqqvhEFVUhBAkE0ImgcAXDC3Hi0EMQ\n        dhpxBBJF7OAeRgPIxo4F/wWR44EHP87grAsmlFBkSrfU5aykJ4DgS5MvVWrOMcRJt0SnE1A5QKg1LebA\n        IBZowMEFQa0q77z0VlaIiGVC1c8hiITy5puM5KrDakT4igQSRxjhQ4026uiOBQ5bSqgMz0o77S/9yVJD\n        gS2YsC2CmKIjEyQQWnluhelyoAFb9dTT1jfe1ivzzDSnI1U+aOIDlT79ttlVQrnqWvARRCdMhA99ghKh\n        O/QlOw6PIDQbgwkgOIoCtVZrzPEJMCF4qjrHeFKlfFKN2gAh8wQAQM1st+32OTwbEKKrCzDFnT2hkLaV\n        wDj8gKevRhQxxCVJQxKfsYEiax8Iy64CkqP6VfuBkP8zbHzDkr2kE3NR9BDigGb0qB3A26SXbjokPN97\n        SN079wxJI13d+oKcOOigww+rwVgEEUHwYEPhj/wZceJOi9N4j3FBrt8Jrjgqyw2R0kLp5h+mzVToop+u\n        /fZtayaAAXZ7j08+n9ya0AszzFl7D7jrTsQQvnv1nuETDAAo8TsyvmxcAEKOQiy5AcH/NrYxGHDtY/JS\n        W8u4x8AGzstMdYuK3HZ2JtctAXYHgUH65KQD9gUhd+8LgkXIw7D63e9YiiNH1fTXOIwtb1K3QEELIPU7\n        GLSgBMSg1/VG58Ae+hBM+mBdiMTnOtgxAn20q90PgnCn1QxhCD/oAUJi14JE/Kn/fu9ogKBUuEL8fKRq\n        FjsBCrhWrQFZ7iBk3EW9FvjDNrrROmbCmc708Yiv3Cpo6wtCEZCQBMENIQg/yMGK5AeJKwqlAhArR9X2\n        58WqPclRZXQB9Cwiva698ZKYzGQugki+zNBxCVOkBQdrdzsjJOGURnhfFHVwgxMUzn72O6QFsvIWVByv\n        Ur8AgQmQZLlIueCAatSkMIeZySG+yhSzkN8PlrjMHrDvCKdUQhKO8Mcf6EAGLKhUA+x3o3cgsnjkAABc\n        4vIJR/ZnhtCzQYGyxSRiuvOdDtRZLm4Fuw86cTXQVII+k4AEKNJAWx0QVyIOd0IUgnMc82hAXDDwCRc+\n        Lwc5/4jUDV/yNXha9KLdIwQ5HPECDz4Rn0nQpz6PEIQZ3OYTJuwm0yyQQlGsDRTzMIBCK5oISgnoBhG1\n        yAvSGDKM+vSnqtIoOraCAyYaAQkinWYPTMFNxGmEpQeFxEs/AQACEIABLAWFMP6HU4gWCIYKAqpYx1q6\n        F7TArDQYwlFDKk0jAO8RsIylUFjaUnmEwqoEKIABQvOJRuUGSZPMgTpdgAIAocAE1COrYhebqrNuRQdF\n        +NUpj0AEHdjoU1FNByI3YoqpegKvBjCAZ+dSRkhBNKIGNMF+9pNYxrr2tRsyq2x7YLAjFCEIiwDFNpcm\n        FPrMMrOJmMcnrFqAvFo1FAEyLP+BTmsRwqKgUCsoLGynS10NyfasZ/3BnQT3A9nOb1wRGgBwa4mBusJ0\n        tEuwqgH0WtxQBGOXkmQuJ2JxKOdW9774ncxZXfAC/mZ3NUHAgVmx+whP8VaWyBqvcD+bVwMYlwBaheTk\n        4ntaG9BiBjFYgQuiawJPAKW1+Q2xiEWxFcc69gW4k6KJq7iEPxULi0NBJFRzseBHVJW47CUAes05YdN2\n        FXoYPlSiokUMb/R0xEhOsif6uwiTeBfFTf7uEl5sv+HhiKVWhikBRKvjeRDXwcXtctq0mAqMocC08r0B\n        hqGLAieBWMlwvq9s+RvlAV9XbCkt6HzoWp9cqFfMOiYuXsX/PI8FoEJy+pGkRE67iRls2FCFdVKcJ63k\n        KLcAu5emM4vpZ8JiEUWLMzYFaAkdU9DSgx6G9gAk/xqDG/RgRjngQQ/aY6hEAZMvlM41ku3s3UvnFhIY\n        wABb6pflp5Z3vOnF66m9XIAwLxsAfBVGXXJglrOgZRNqTtT0EKjrbo94K/71RLDLezinXvnY4bhxVZ/9\n        bDHrIkCOmgGdVnOWRVvzBGQ0cua8zW8Rl/i7Fhg3Bq5Y7MShm8bqZrfCSeuoFtyAB0xUJQ9wJ0IcsiSs\n        /c44dR0LiYAL3IRFoU95LcDXzq7Nwe1euEh0uQIC4S49RDBLeoJwTTe/WeM4/+mvxzXu/w4E2wIq7S1L\n        D25yG6c8dAIAlH4yFgNn7YpgQNjuEHqAg+B8I+dYfy0IFmW/cXtg3DCOccBDXfTgrlvhAuDABqrF9CCn\n        7+UwypPgeqCDbLIkXlnPu08Pp0VuxkfgHsGAno3N0pLLgx5mPzs9uhwAbawaBbV2Fk57oNaDyR2KOqi6\n        m/XOeYsSW7xsqXLgBV5wg0PM8OddsMKX3QAOYEy1LjDUEj8aWX7aFvM6oEGjXNL53hNzAGzxFPDt5/Fg\n        fz3YpU+Hb4+NeqoifgmrP3Xag6Gfps8Adx+9k2Qpu0rb4YAGPKWp78f/wwlsU/ii9/rPOZtFPrPJ5Asm\n        tcIH4JLqt//ankFgIp5QOXVn2k4HOYADK4Bx5FeADgR89eNinTJ642ZgQbcOIkd0LvV8y+YJ0ucLASQk\n        AzIwgGRPREA0eRJzdPd/OCAD+2aAKHiA5/diqAB4wccWhmRwEnh4qldjMBUAP4Fo+DZDE7dMH6RHIBg4\n        AYZpKViEPkRswlMsLYh86Bd6yBYOfGZeqfdS6CUKjiRtH3ACt5N/f1QweRI4P3BiRjiGDuRiL6iEnrJN\n        CPgPg1cOy8dStAR/VZgLqyZhvyADyxRCapUwRdBdO0eGgKg9n2eG5fZ5w7ZS5TWDU3gO04Mxt7AClAcj\n        7xNZRvADdyFlgZiJbyNe9rNNnng4MNj/KeamfB5HdhNog+PQiMJAA7vyhXjSh9EzP+KnibQoLyYUesIX\n        isPXhujgAGOHAQKRbs9XDhJmU7egK3r0hbwTUTXQAgd0dbUYjfMiip1CCsN3jWxBFDKGARkQAQwgjKgY\n        Dm7mVx2UjEbwR4C0SjRgSdLYjqhyfmooirgYfEOxfBmQAQ7QfJAgf+UAb3UYQ+WIJ7yTf+mYe93ijggp\n        Jp0WfGiIjbz4Fix1j914AC41aAk3h60QHNLiKDLQQdo1dTNwO8zEAyboDbOYkChZHfHRd5+ohC6pjSMw\n        AhuwAfhoABP4ZcqGkbqAaHb4ASvwfXFCA5DXdOxDdzPAjimZlCqp/4DycUUrmHzoYAE2IQL3yADHdV7q\n        FWZdJo6NWFOOmALYpFqQp2FyUpLBpJRo6SGfF3bosDZuuQQBkAHPQAIb4I06dnh5pZXDqDm/oAIyoAK3\n        YAIcJmFGlpaG2SHExpbn8GwLwAHPoAIhEAEHcJeph1cFcGrtcAt++ZdFRlFGdpKHGZqUIV4PiXD1QAgS\n        4JhzmQEHEI6Jd5GueQ4pwAIyIANVAzN+YZI3J5q8iRRPaAqEwACh4i5zmQ2fo0AWKH+YyQ67EA3Z9Jm9\n        ABx60ZvUOY0Tcp0TchMigJ35SIXRt5yao5sq8A24+WHkWZ3ouSoNgJ0ToprsKQGg853Ppg6eaf+eFHWf\n        0Jie+hkm5zIhovKe1xkBClQACIAApwZoorWX5gAz9qmbDXpk+xmh1zEA/kkh7EkhDHCgCHCZ8hmb49At\n        uYmf+laYElqi2CEAEXChFkohAsBu0HegLuoO5TmjngmaJnqjSgEAEfCfFeqfCqSgL1qBRkGj+YmjRkod\n        AeAA18mj/tmisSmkSDGjRzql1hEAKXqhogKfHhqkOukOQKGbVBqmlFEPWUIhZTohTgp/kMGgYtqmkUGm\n        FXKcKNqkXZpekUFRbpqnORoAZ/Ojp+kAEdCiHXKWelqoRJE2FohqW1oZEGqojso54PmokupDkTqplspA\n        i3qpmrqpnNqpnvr/qaAaqqI6qqRaqqZ6qqiaqqq6qqzaqq76qrAaq7I6q7Raq7Z6q7iaq7q6q7zaq776\n        q8AarMI6rMRarMZ6rMiarMq6rMzarM76rNAardI6rdRardZ6rdiardq6rdzard76reAaruI6ruRaruZ6\n        ruiaruq6ruzaru76rvAar/I6r/Rar/Z6r/iar/q6r/zar/76rwAbsAI7sARbsAZ7sAibsAq7sAzbsA77\n        sBAbsRI7sRRbsRZ7sRibsRq7sRzbsR77sSAbsiI7siRbsiZ7siibsiq7sizbsi77sjAbszI7szRbszZ7\n        szibszq7szzbsz77s0AbtEI7tERbtEZ7tEiblLRKu7RM27RO+7RQG7VSO7VUW7VWe7VYm7Vau7Vc27Ve\n        +7VgG7ZiO7ZkW7Zme7Zom7Zqu7Zs27Zu+7ZwG7dyO7d0W7d2e7d4m7d6u7d827d++7eAG7iCO7iEW7iG\n        e7iIm7iKu7iM27iO+7iQG7mSO7mUW7mWe7mYm7mau7mc27me+7mgG7qiO7qkW7qme7qom7qXGggAIfkE\n        CQMASgAsAAAAAAACAAKG/9sF/9wN/90U/94b/+QG/+oF/+ML/+kM//QM//0K/+IU/+kU/+Mc/+oc//cU\n        //0U//Md//8e/98j/98p/+Mk/+ok/+Es/+sr//Mk//8j//Is//8r/+I0/+w0/+M7/+s8//I0//8z//I7\n        //48/+VD/+tE/+ZM/+xM//RE//5C//NM//5M/+dW/+tU/+db/+pc//FT//9U//Jc//9b/+1i/+5r//Jk\n        //9k//Nr//5r/+9x//R0//10//V7//17//aD//2E//eI//6L//6U//+c//+j//+s//+0//+8///AAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/+ASoKDhIWGh4iJiouMjY6PkJGS\n        k5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3O\n        z9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wADChxIsKDBgwgT\n        KlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fP\n        n0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt2//A8Cd\n        20lAAAF0816yG6Cv3r+S+goGTLiR4MOFEx86fLexYsWC+TLua/dx3siYJ0+2/FayZs+N784awHkn5cN8\n        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\n        DfCjecqozUl/MroUEaKjovqq9BAA5pKpX3KF0xcaXgqruipOXmIuEKAAa/OjGnYm0bGrxioPl8qiLloV\n        9cKiw2omoHms0kqVk/CiVREAC5Cq6fGk09qt/naTbeqt4ko3nDqu5vouq3qu6rqu7Nqu7vqu8Bqv8jqv\n        9Fqv9nqv+Jqv+rqv/Nqv/vqvABuwAjuwBFuwBnuwCJuwCruwDNuwDvuwEBuxEjuxFFuxFnuxGJuxGrux\n        HNuxHvuxIBuyIjuyJFuyJnuyKJuyKruyLNuyLvuyMBuzMjuzNFuzNnuzOJuzOruzPNuzPvuzQBu0Qju0\n        RFu0Rnu0SJv2tEq7tEzbtE77tFAbtVI7tVRbtVZ7tVibtVq7tVzbtV77tWAbtmI7tmRbtmZ7tmibtmq7\n        tmzbtm77tnAbt3I7t3Rbt3Z7t3ibt3q7t3zbt377t4AbuII7uIRbuIZ7uIibuIq7uIzbuI77uJAbuZI7\n        uZRbuZZ7uZibuZq7uZzbuZ77uaAbuqI7uqRbuqZ7uqibuqq7uqzbuq77urAbu7I7u7Rbu7Z7u7ibu7q7\n        u7zbu777u8AbvMI7vMRbvMZ7vMibvMq7vMzbvM77vNAbvdI7vdRbvdZ7vdibvdq7vdzbvd77veAbvuI7\n        vuRbvuZ7vuibvuprvYEAACH5BAkDAEgALAAAAAAAAgAChv/bBf/cDf/dFP/eG//kBv/pBf/jDP/pDv/x\n        C//8Cv/iFP/pE//jHP/qHP/yFP//E//yG///Hv/fI//fKf/iJP/qJP/hLP/rK//yJP//I//yLP//K//i\n        NP/rNP/jO//rPP/yNP//M//yO///PP/lQ//rRP/mTP/sTP/0RP/+Q//zTP//TP/nVv/rVP/nW//qXP/y\n        VP//Vf/yW///W//tYv/ua//yY///ZP/za//+a//vcf/0c//9dP/1e//8e//2gv/9hP/+jP//k///nP//\n        o///rP//s///vQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        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\n        e73Ym73au73c273e+73gG77iO77kW77me77om77qu77s277u+77wG7/yO0+/9Fu/9nu/+Ju/+ru//Nu/\n        /vu/ABzAAjzABFzABnzACJzACrzADNzADvzAEBzBEjzBFFzBFnzBGJzBGrzBHNzBHvzBIBzCIjzCJFzC\n        whsIACH5BAkDAEcALAAAAAAAAgAChv/bBP/cDP/dFP/eHP/kBv/pBv/jDP/qDP/1Cv/9C//jFP/pE//i\n        HP/qHP/zEv/+E//zG///Hv/fI//fKv/iJP/qJP/iLP/rK//yJP//I//yLP//K//iNP/rNP/jO//rPP/y\n        NP//NP/zO//+PP/lQ//rRP/mTP/sTP/zRP/+Qv/zS///S//nVv/rVP/nW//qXf/xVP//VP/yXP//W//t\n        Yv/ua//yY///Y//za//+a//vcv/0c//9dP/0e//8fP/2g//8hP/+jP//k///nP//ov//q///swAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/gEeCg4SFhoeIiYqL\n        jI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbH\n        yMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAwoc\n        SLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4\n        c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0pNJ2Cq1WsBsl7dKi2rgABcwzYL8FWr2LPGyGZVi7at\n        sLVr/8vGdUv3lte4eMnW3RtLrdy7cMHyHawqcFwBiL8qJsz41OGyf+E2nlxKrmLDa3cNGEC5KWa1gHVt\n        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\n        EJlyGmkiqaSqChKQAX0qqGaKqgJQqEUHpa+xFRyipUFaqrZqChIAAZa6qxmgAK7KdwS4VHY6MhR1q8aK\n        PbqaqqnaqonKgc+pqI/aHnd6rNSaCZTKq2f6q0UHHwBmotX6rZ8woag6rpXKACb5KoEErurKLpYqqGJ6\n        rq6iJus6r69UqREQDA3Ap5narPPhrfRKrwLAp8x6OGqhrW4Cqf96q7bSqob6rAn7sKvhsBA7sRRbsRZ7\n        sRibsRq7sRzbsR77sSAbsiI7siRbsiZ7siibsiq7sizbsi77sjAbszI7szRbszZ7szibszq7szzbsz77\n        s0AbtEI7tERbtEZ7tEib/7RKu7RM27RO+7RQG7VSO7VUW7VWe7VYm7Vau7Vc27Ve+7VgG7ZiO7ZkW7Zm\n        e7Zom7Zqu7Zs27Zu+7ZwG7dyO7d0W7d2e7d4m7d6u7d827d++7eAG7iCO7iEW7iGe7iIm7iKu7iM27iO\n        +7iQG7mSO7mUW7mWe7mYm7mau7mc27me+7mgG7qiO7qkW7qme7qom7qqu7qs27qu+7qwG7uyO7u0W7u2\n        e7u4m7u6u7u827u++7vAG7zCO7zEW7zGe7zIm7zKu7zM27zO+7zQG73SO73UW73We73Ym73au73c273e\n        +73gG77iO77kW77me77om77qu77s277u+77wG7/yOxm/9Fu/9nu/+Ju/+ru//Nu//vu/ABzA4RsIACH5\n        BAkDAEYALAAAAAAAAgAChv/bBP/cDP/dFP/eG//jBf/jDf/pDf/0DP/9C//jFP/pE//jHP/qHP/1Ef/9\n        Ev/0Hf//Hv/fI//fKv/iJP/qJP/iLP/rK//yJf//I//yLP//K//iNP/rNP/jO//rPP/zNP//NP/zPP//\n        Pv/lQ//qRP/mS//rTP/zRP/+Q//zS///Sv/nVv/rVP/nXP/qXf/xVP//Vf/yXP//W//tYv/ua//yY///\n        Y//zav/9a//vcf/0dP/7dP/1e//9fP/2g//8g//3if/+jP/+k///mv//o///qwAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        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\n        aQsRQJRzKZJhyZTaMZEUUZW1k2WNuZmII5dF+ZVHSZkc0onnCJAcyZmoWQhzSZcJUJgekpmnmZqyOQmr\n        +Zl1KZobEpCzuZuy8ACQuZVyGZrLspi8WZyHsABFGSLAQAwDMIzK0pfGyZsD8ABHGZ3WWTcqeZ3auZ3c\n        2Z3e+Z3gGZ7iOZ7kWZ7meZ7omZ7quZ7s2Z7u+Z7wGZ/yOZ/0Wf+f9nmf+Jmf+rmf/Nmf/vmfABqgAjqg\n        BFqgBnqgCJqgCrqgDNqgDvqgEBqhEjqhFFqhFnqhGJqhGrqhHNqhHvqhIBqiIjqiJFqiJnqiKJqiKrqi\n        LNqiLvqiMBqjMjqjNFqjNnqjOJqjOrqjPNqjPvqjQBqkQjqkRFqkRnqkSJqkSrqkTNqkTvqkUBqlUjql\n        VFqlVnqlWJqlWrqlXNqlXvqlYBqmYjqmZFqmZnqmaJqmarqmbNqmbvqmcBqncjqndFqndnqneJqnerqn\n        fNqnfvqngBqogjqohFqohnqoiJqoirqojNqojvqokBqpkjqplFqplnqpmJqpmrqpnNqpnvo3qaAaqqI6\n        qqRaqqZ6qqiaqqq6qqzaqq76qrAaq7I6q7Raq7Z6q7iaq7q6q7zaq776q8AarO4ZCAAh+QQJAwBHACwA\n        AAAAAAIAAob/2wT/3Av/3RT/3hz/5AX/6wf/5A3/6gz/8gr//w3/4xT/6RT/4xz/6h3/9hD//RL/8xv/\n        /x7/3yP/3yn/4yT/6iT/4iz/6yv/8iX//yL/8Sz//yv/4jT/6jT/4zv/6jz/8jP//zL/8zz//z3/5UT/\n        6kT/5kr/60z/80T//kT/8kv//kz/51b/61T/51z/6lz/8VT//1X/8Vz//1z/7WL/7Wv/8mP//2P/82r/\n        /Wv/73D/83P//XT/9Hv//Xv/9oP//IT/94j//on//pP//5z//6T//6gAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        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\n        WMdK1rKa9ayvCQQAIfkECQMAPgAsAAAAAAACAAKF/9sE/9wK/90U/94Z/+MF/+QM/+kL/+IU/+kT/+Mc\n        /+kc//Mc//4e/98j/98q/+Ik/+ol/+Is/+sr//Mk//8i//Ms//4s/+M0/+oz/+M7/+s8//Iz//0z//E7\n        //49/+VE/+pE/+dK/+tM//NE//9D//JM//9L/+dW/+xU/+dc/+pc//FU//9T//Jc//9b/+dg/+1j/+5q\n        //Jj//5j//Nr//1s/+9x//N0//xz//R7//57//aD//uE//2LAAAAAAAABv9An3BILBqPyKRyyWw6n9Co\n        dEqtWq/YrHbL7Xq/4LB4TC6bz+i0es1uu9/wuHxOr9vv+Lx+z+/7/4CBgoOEhYaHiImKi4yNjo+QkZKT\n        lJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P\n        0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAMKHEiwIMECBwwq\n        jHXgQIGFEFk1NBCxIqqGCS1qHIUxUIoUG0N2OWAgo5+PH0WqzGLSDwyUII88iLCyJqOPL1MKycDzA4j/\n        DzRtCjUEE+WJECxMsFj6ocHQp4NQvjxxYqnVpRmgav3z8UWKqUpdLBVrwsHWs3u+Gr16NYNZtHDpqOiK\n        8wSKq2JZXIjLN06KuS9feP14lIWLwyaC9l2cJqfawWr/okBxOCvjy2YcO8aJUoWKFogVYx4NRvPXGDdy\n        3PjbooWKFWItk579RWqMHDty5/jsmjKLD7SDf4lhA3fuHbtdu17B4oTw51tg2Die+4byuZN1Qt9OBUaM\n        4zx20IDhGjBK7u8GQOpqfMcNGZ9RzIWJ3twA9UPuC1j/FXf49y3U544A9xVI4CNS0cADD++hIKA7AxBo\n        4H2NwKQCDMjdoMKDEOpX/yCFN6mlggyqyaABh+1IqGKBi3TmWQsywAACiu1E+OGNiojo2WQz0rjOjfoR\n        KCEdDUkh1Y4ohOAjOzYWmIACCexXR0dRFKUCCiKcuGQ6H0qowANQTtnSE0fG1+OWTAqQAJhhHiKCeZ5d\n        GYKWaLbzpAIK4FcICChYeKUIstXJTgJPJqCnHxmcKcR8f12JgqKCDgqllH5oAAKkX821Y5aRvkMoi358\n        oEGgPliIJaSdMgkiIZHBwCMGqcazalQf7RgCqbGmeahHtZ6aqzyzAuKYnHv9Cs+BtEr2qLGy7npSZ0kW\n        y2x6zvJRawpY4jotIB8Ah0qwfUCL6rbcduttGufigf/sHy9tSie5gZhrrhrz5lGtHo1eOS68fcgrbxLd\n        cpFBtzxJWwe4eUALKL+D+PuvDw4HvMUFPFV87sNvUMrHfDwy3HDEINerRcEVD2yuyXHcawe0t3osSMgw\n        C1xyT/7KoXIdf0m2r8t6wBzyFjNbXLPN4X4ULc/l+uww0DNbCgLNA89xsxwiLov0H0pHPHLJFCcawk8i\n        p2ytZCEYfHXPWXcbwtpKYkFw0B98HULYrNR6pbZn1wEyzeaGMNnfDl7hcMlqA9420QkbXXbeaEfM9weT\n        tQbjlRJTMTjfIUjemghS42v0u0OMyTgb/nKNgclxoyDD6qyLMPQUg5trl+YrfL3/Sk5Hj27H4Bp0oMHv\n        o6rdmgwwro6C1lSgTvAHs2tegu2p9Lqz7m043nsH2GNwQeGss97C8UtbHvFkK0he+6XR/3U49XTwjv37\n        HfQkAgrDE9/az1MMrLzff2++9vSdqNUJ8MY+OMgrA9eDX/xSJ7kREQ98IJPC8uYVgvn9DQRfQ18pjMa5\n        AuaBYAnEntMuxb/hwagFc4vZEw54BHNdSgQ/IYVajufBPVwAA78T4cAu9cL5aU4GEMSfE+hGBBdWUIOW\n        gIEQkmSEWnWwhnroGgbipzweWlBzKfTZENOFhG69EImUiIESCMNFKN4BhMrzohVXUL4WuC5tTCBgEbxY\n        Qeh5/6JdTzTjByc4tKdZMUtgyxoXfAICGFZuE0ZrBJ4eAIEHkCuCSbjABUalAThuQW0wjCEnEtmINYHp\n        keFbQtcQGEgVZoGQ/9sktiCxJniF0gk4DJ7SBolBMF5CO3rsFxGdcEMEphF5WSChJi/Rrlxi7ZBUkCQC\n        tagFn3ytjJKYyxpOsCFjRgGZVpjkL1+HBQw+85bVRANVqGLNN2ivkqa8gjCh6QhcmoEqKThBTMrphq6l\n        0wq1HGYk3CmGcfpznPSs5+m2iU3LFbKgNzFDnDzjz3j6M6BssCcku/nNfc6TDN6JAQ1i4FB5jjOcEFWD\n        RIFphbjps0JnOAEMUpMaGMDzof8hracsX1kFHrITERcNg0NTgJob3CAG/8xpTNlgGZJWwScINYQSyfBP\n        Ffh0Kjsd6u64WVOw5SFqVRpDQ+HJ0Y5SJXBSbR9VqXCpm75Bf3JUAwo8ahdyEsarzgnrVFNnVieU9Q49\n        4ckQMrC+Jvbzn3EtFWDjKdciiKZ6f5tbN08aB8LpTwNMVMM4CVsEsA6BKn2VqiTNdgafVHIyckrqE6w6\n        hw+YDK2WsuwZ1gpQu3I2oC8QAiHjxgYMisCCk9llFGzpBsdW7FKqZWo8+1TYJ8Ago44C3GTyWAZn3hZL\n        GDNoXctw2rhBDq3MZSpMi9sE6cTAVcqln3ivhIYP3HZ+ImD/23SXQFqi0iwEK1DdrRIV3L/Kk7tQOG4N\n        ZvC9yH2GdfRL7mTI4LfyXclR6S2pad9g2riVDwW1S21K4YnfKFTFBVgCnPfCG14wyId+vRFwZke73iWc\n        C4FSGFjk4pulCr7ToxWuUghK8LREYbCNH+awcufHhb9d6XsCxlJNS5yEvOpVCgV+MAzXVgZq1jfGTZhb\n        BiKgzIEpScdYHnAWspzjJzNBtHHU34KlwKfyxfdrrksrFigM5eRF4M1wpnIRKojbLGeXonX+G70afFsA\n        IqHMbPxaBo6n5iustc1WgPNmL3BYIjyXy16u6aMBF1jq8oR/LZMChIWsBAxugbKIpgKc/6lQQR+HN72g\n        qyn/lJsGvi7Xz0dY7hIiAAINPIBQUdIYFEAd6im8dgo+JJ79+jtiK3S4vIYka6YjqYEIJOAAuW6IAHS9\n        hEP3Wg6RK97qWhBfL8zPLpxGQ6GPgLJOZ+DWAziAmp5tqKkNgZ/XdkOp27g6Gmw70kheK5aKHQYwI6Fi\n        TLiAodhN8E8lYQAX4BO+460GK1tQBjSgAQ7s7SstrA2zrYZdidm9bigVKgFIGEAENPC1VDO8sYUsH8Qj\n        TrzzWdyCdw7DuItwZCYQCtqEgpLOQW4EkTvtAo48OV5BUAI2Ss5+SSLyEpic8WvOHNd4wlOhFGAEATwg\n        4SAAutCviv9iH/hQcxV/WYqh8HGPR53qRbj6pc69dUCUenjLVbocZr7XKEw96h8nAsIvhYGgtz0QeU76\n        JOjugztNPec8LzzWf/33P+RZsZBQetk/jmsh+BwEsGo8Ikq9XH5jIuc7x/UB1COAkWdd84yo8ycEgHdc\n        f2raVkfgBZyC+tTruRPQ9jjOp52Rq2tA67V3BOc54fpnB2k/CP+934MvfB5rovjT1jvF+s78SfAvEzeP\n        kBFGDvzqWz/mrCTUv7vvfUr4rfz8uC369wH+jSx/qO2vSAPesv56OKAB+K9/PRoQgQfkX//Y0AD+h3/3\n        d3/4R4ARcIACaAQK6H8JuIAAuAwDeID/DlCB80eA81eAGFiBBsh/ESABGliADzATEVgM9/eA/GeAFkiB\n        GaiABRiCBCgBGDCDGNB//jeAI1iCv4B/E8iCF2iAQUGAE7iCCiiA8xcBNDiDEsCDDpCAjaaDtNCAGkgG\n        H0iDb3aANwiFtXCB/Ed7bNB/WEiBWvgKDuB/9DcHF5iAI1iBEUB4Y1gNDsABEcCBEcABJOABbviGshA0\n        FtOHfMiHRNABJHCHcugBg0gCjKeHsWBkM2Naf/iIkNgTIzCIHjBKF1CJijgLkeiIjQg3fgg1vlUxJeAC\n        JPCHmbgKjAg3VxCKaAU3IhBogHiKpJCKDceK9BVfqZiHsrgMPrFc/4+4i92wdhUzKjUGcMCYDcOYV47I\n        ibp4jMQQiTXnjNbgiSUjjd8QNNYYDtWYjeAQjdzYBt+1VKjYjN/IBTEgRuX4DeKYjpFwXD7gGfTBjqLA\n        QzzENmuTXt6UXnJTSLDWBC0QcaAFj/Amj4iQiEJAQmxzW3R2XuiFAiWAJQwZkf/DQ8BTaBGAAjTgU0DE\n        agTZCJv1Z4WUXucFkQ4JYQ0JkRGpjxlEjxQJPL+jhBIQkxIAAQogASIgAzigAzlAA69mkB3ZMMboA3SG\n        khbERjsGkQmpXl4kKsCThBggARcAlR8YlTA5ApozPMexG/H3k6XlbzuRFKj0iuYDYWwUX39zXv//szZq\n        8zYaoD1R+WYjOIJf8iUjuCZzKXUYUD/1tgM9UB3ryJV5kEJq2UXdYgJigWb0IwMz0HJGuVwqqZbcJElw\n        eWu4BnvUJgQFIAABoJkHwCf9dSHUsZN/CZhztZaH4y+GeRjPBSM0sJjfY5YKmUXRNQQ2eHPqppkFUAAB\n        oAQB0Ju+eQE+xh42YAPfdR6keUZpk5ozMAORo5gsB5v/0zfRVYP953EE1xBPggBtUgRRghG3KZR9clwp\n        IBgw4BVeMZrHKQfWtZYOExYuMAM1UANkCXGLuQJoaY/PdFdCEJWMxCZsskhxSZNgsnyUmQDaiZ1L9BXH\n        pQIvUJ4NKlTp2ZX/IJNChgmfNYADNcBt9PY996letRZLGcBoEsBIEFCijRSXdCkEUjcAzxY6B4AAMOoQ\n        RVAURRGhe7SeILMCM4ADPFoDbXSVEUmPMMloH2iickl5VaeZvpmbCGEATqqbRKCgavES5WmjNxoy/IOT\n        OqADNGBCitly58VDIRqTJTqZrqdu0oYEvrmkBeCkJeGkM8oZVDqQVmpAE5o6IxJxW2pv3eOaK2BTBVOi\n        /3lr0jZtvbkEa9qbbUoSb/oQRDCnUvESdYqc/pKPIsCaNHChPDBxy/mlrWGfBSMEYCJ60paou4moieqm\n        jJqbTGCckypWfXOPzyUD8SlxOsADOrBfMlCW/+cVokTwbA0RAIxqqk2QqIvaEDHqBJL6qqWFn37zXK+Y\n        kTzKowuCAzLQZ7V2Q6N6m6nqpmvaBNP2IQaKABOBEMz6MrK6XFgSX2yEkz5FrTqAAyikSQ+ApqaqqG6a\n        r46aBA1gIGv6pgfgm+dqB4xnXhG5aWVpdJlaAxHHcm5UBLppqgCAr25KroRCgmp6r4pKrAMrBx9pBAvJ\n        YmSZsGVZP61xlkagsZl5AApgojIZlxmrsRrbsXFwAU3YaCE5PyQ7suzKRuiFlkTUmxIygm92QzFZlwF7\n        qimrsUo6szTbBovWaM+VsORDsvbJkJBJVW/mljfEaP3atAKbBL6ZtDL7rf9SAABPiwUOIElNKElDkHJl\n        ybMk+7P2qDYh0FbyQQQfCpcRIrPFWrb3GgUAgLZtYHLAyLZrS2XSkgEiUHRWm7ASGTecJx8jIp5GQLZl\n        GwWAG7ZQQLhn5ZPrR2VvtrZEarNsq7j7STE527OwGZu4FSfHBQPwAVJEsKYTG7hSILRmWwWDO3e/94ZE\n        OoeMZrqky2gI9HuiO7w2drCmdiHdU0y8GQC367Sam6hX0Lt0kK1a2LZUlrhsa7oUYymSObzDK2cW5BnH\n        tXLjIU1/65vTK6zfOQXWawXYSweWMipQSL7kS7praykjcCm/k7zKZF4oAAMNG3Gy6yq0i6q+KQDe6b7/\n        VLC7TrCvQjC4nksHqvs0JTi+HGyzDmBjIDAC/1trFcN5O2LAMWIrnncEwooQ0xax8yu/SjvBRWDBejBC\n        5Hht5Su6yasB/yvCIuy4Zkm52EJNDJVFK3y5GDHDMTwGMkoEAEAA9YsHCQdDhusG/6e5ncLDpVu0PFQC\n        jqtt8NFaQyCbcucDASu2h0oGaVwEBPDGF4wHI9dnOQwGWVi9dRK830tlREdvrGNvrkGYKfQFRUIGMzwE\n        b/zGfdCGIdmPa6CAmnuZ9fG94Dswl1o8fPpA7TebiBDFiTyxfPAAGEB0qKYHFWiGTyDB6KG4m0VfzTls\n        k5HEujUIFjy4cLzGe+B7//NjR3hQhPfnBJvJuc/BaGtrZc2zbdwWdl/WCLUcxaDsB7r8PI7sBitYgE4A\n        tsO8PYVEuS0guyebXt4oCYdcwbVcAHGcy1WszLnMhfMHzEpKG17TnMVzsoIGuovAqkZQy9J7zrk8yq/4\n        KHWMBkXof+2rmaPxcNuGdFImmZfApEdgwb05xX6QAKNslHMSCBRohl6oxk27GJPhPSebdFOmaJbApASA\n        BAAgJc8cCBQNAhZ9xXlggANogQwstHFxAtomOUnHwaNWCUxKwY6QABfwimykwYPwgx34fkVgqKpsE2vl\n        GbMby0Oww3JGCWxKCUJN1BFWCC7YhVm8tA08zhVRaf/+FCdIoLioa9Vi/Qh58gAaIJZuFNDUrNEdGL1K\n        KskFMU4OAlhalgSs3Ah4DQYKIDpvACVzTJZb2QcuSIQx29QA8VUNBQMqAFhNIEk4pNR7gHZHENiE3KJ0\n        IJcSQHQQZh2ZdwgdqIFfXbtNXAS4fA+ApVI34FJk3ASiXNp9gNn5cQYI8aKF/NmM9NbxhQPWIddwwIIn\n        mIFVp7vwy9qtbQ9tNVksJdlTgNt3wEhKQNhhUBLeWd0PENpsJNwbeXuGoIIWqIJg3aQGAMPC7NoN5VPF\n        GQk5qATuNhJFgt1xUKIYUAIkwqUgJt2J0NWnXXXHmt7B/M75AFiTrdeP0EhLoH3/aNCmt/0AJVADOnkD\n        RukZjCCAZojaGy0Eb/qkq10Prz1ZjsDgDc7ZXyCsfnCpWkoDjZnYGK2CBGiAEEsSDsGx7P3ajtCfTBB9\n        ahAAQI0H2QYjLJCwkEKZiNCFqE3jQhCwuancwbzW7jDilaYIJQqu8/0F5toHX2c+PksEI3prirCBL5h/\n        z9bACwC2Ut4OkP1PjCCoTuDgaoDPfdDHtMNGxeJJNrgIi42FUJK0CsAADGCo/cBaCwfNJg6uavIKRufl\n        nHObayIBT1gIHXiBI9hIkyLogj4Aa04PdpHEfWCiTzBtiZcF9iwEnW4HD9DHKzAC8EOTkE60jcCCl16i\n        eKLp/5v+D6DeBpOedif6BPdh374GBUAeCAqAAUvRARBQARtQARVQohhB6r1O6TJtoiZKARSg6QIo47+8\n        yrQNASNqd549MlBA535wABJAAhKAJ8ve7M+OJ9Fe6hkelwG6ARZgAYKuAAr4gN0OHW/27YnuBIXCBaCL\n        vw4dCLkXdeC+ARswk/Aev49A70Q7gxaQ7QMwfwP4gNR9Gf/OBCQKAXE+BFHXBWr2KBfgEObuBw58J3gy\n        ARPA7A7/8ChuCDyIhDPY7BPAgzqf2qTR00tQouF+zetm6wTvk1dyAemWxqk+JSzP7s7+lLY+2GkaCTJ4\n        80rIhGWY9cHh80rASDO58Ur8JP80WfRNcDcjSHvCfgcO/KJnB/QyOJM0+Wyw9whb65Rq2NW0UbQAH/RQ\n        gHNSJzCgmyRz2K8+sPR2sPZN/yXgTqY0KfWkPu9E+4GS/gBAWNc93/FL4PUB7wTQBm1qsi5X4LZN8AHE\n        3ACGr/aw124f0t1PCfeOD/qGgIP7/oMOeICjwcMe7/ZgfwS2Ga6wXwUU8wRuwWiHYJmWeR+R3vpR39t1\n        x9XHrfO1L4aMMYdz2ARuD/JTUJkR4uNYQDGnLlvFb/zGfx+s3/C2Pu5E8P12gIVnv/NZz/NbEWfTLqpu\n        P/+cn+VO4KuZIP7iDwSDhEIiwUggEIWP2XRenFHplFq1Xq3/DkdjG+E2HmAxllw2n9Fp9ZrtfDza8akj\n        EoFik0UJXO4TCPqYLjLuAg0Pp/4UFxkT3owkIrAIESutwLYavMQy+Sw/QUNFfd4gPEezIugk8SCKIk5R\n        zQYLZW2rGHMbEyDsIidrb+W+HmC/GjS/hJeZlx8Gmp9U7cge8oqiyS6Cs211v/8SmCIwMFivBrvXxJAz\n        25Eb1OXn6dPq7OrIrn/ro7a5+xnKwOQZOF1PyuW7kmFgwCtbHmiJ55BixYDTFF6x5uqVRR+DGno8BCuB\n        QUZR6phjdaAKoZAifSQDA5NmzVF1tjkAKMWaHn4Vae20aSaDuQcKDphUJMVOQm1CA8Jz/zCUalU507Sc\n        q6JgnwSY215aRYPhAqxEB6eQK7uyZTqYE8XGHTUAnjA6a6E2UfBAQoWOIsFikKsmrJSTVcgd4cOSisvB\n        jyGzaUDX1lqdqvS58vvTo0vBkcswvLLoSuKyTA4EoPKvMGjXr5kg81RMqyGsF+hg2eszgleaYPPC/tja\n        ydLS5cyhVj2FISXhz6H3rn31Xp2pWHhB2MzZY2DoC7H8IZMyuY+SVWgR/77eKtxA1XFPn8KVt/yKDDUE\n        fy76/YVyp5NaToqg2CvQQCxWWSsjK7ja7AibMgChKPUKdK6PplRiQgABo2AIrANBDNGyy+xzgiuOjiiR\n        oghLAEGDEP+l4O9C/1LUkEMnCAEJxh2fsw433K67YgjtjCgPQhBKWEFC/Z7T8T3kTvMhtbYs5NHKwXxc\n        RcUmePHpwYBQsIKQJEvIj8n9KLQnsfJSu7EJ4NK8Us6KVNFywa20225LK8QLJAUnwlwNLCSXlLO5kdZc\n        KQA3mcjRrTkh9ciObVRZiwz69DAyjT77+LMJFDwd0EMMNMivSh4dsy3RJgpg1AcPT41U1nmqq1O/AxrM\n        dE9cADEk1BBOsII1DVw687tDVf1vDxtdTc/YWaH9pNZ7yMCVIyOiVIPTPmBoQoRA0SnV0TjZczLZ/1hZ\n        1NUcZYzWXVkqxYgaLKz16whN0dhWjlD/fUAh2Ek0IIvAOZENJMFy+FFX0A/fbTiUsujQKb5qc73XN217\n        9TNUFMC9glQLn0Xz0T5WgVLRRZnzcGSHWabuttywMCBXbHelQt99Pz2BXytIDblAc9/DsEY/FBaVtZaR\n        ZqPW+DDDogBMi6z5LERe6LZfUM/w2cBUVV0z26I7DIrcpMkeZ1p8yCAggQo6gCTbTTPW+NOdy44R6Avp\n        MLkJsJ9gV+u6oVXQ1poDUKCDEUa4V2rD4vbzU38L7DgUWBEpGblz+G6i2BwB75wJEu952x8oHjgA1w5I\n        QNypNW7e12qO/2VPclCaG/uMe5AzMnNB0ovVc2ip/Vxi62Cmoo4i/yCYgG3EE//bOF895VgFFQ6kHhWX\n        bDcDp9wx371YWn5/t7pxmI54y96KqGD5ElRn43k/YXh9ehBnp53zyslb3Qd1GR337/CbhBeI2UELltJI\n        +vxyOMSB4DNwa1ynosexEJ2gfpYASfbKoCW9MYF/U4ATBgEIGfnUKSUa8NH48JC+IihQQotrwvvgxwTp\n        0Y091tOc/dplsO1dbm8BAED/xPa/EA5FcPe4y11KZcTgXeFpfXEQsf7xLBh2qmpMOIEKKrieLFaCXSBE\n        0F2410OUDQg4Kxvic0BHQBKVagTT2EYZAnAAIkVtUmURHZ9at68IqiB29LNho+xnxgvhDl1iBP9AyuB0\n        xvXIi4RILFV+7mQFmakPEgKDmB31QxpEpCAF3cKiCmgojFjYQoI4wmEOA0EbGumvg0YDiRAVKZKlDfAC\n        GgBBBzqQHzMQQI5FuJcAUTiaKcoBBpyUIRb72IxRkjJGgfRdHKyzJrJ0z3t+g2UsgaIlIP1jBLZ8ZBkK\n        gCsHTZNS/yiDJjdptRRgMZSijAYK/vgqUFzQi1jAhDRrwT83vZJr2HRNVtxYQHERolJWIAABCoCAa0ng\n        H5OSGjoP0ck/wQCe8YzGMmURgng+sw9dtER1ctfA/f1wjH0Tmz9fk5PLaLOhGJnCDw2A0AI4gjYfiSKT\n        IAq9iX4ymdFYwjv/N3pKQboMn07Qpyv7iVIs6YSpOAHoJbMFAKlKlQAxLYDxDBieYXKrkz6Y3vzmIY5o\n        XDFsp6wnFkKXu3y20qTFUupjCBhNIEXTiEHywVSlaoCYCmtewtxqHIrZyfhNb4u3wCgpN3rWSWzOEloo\n        xio1dVQcOYujb6VJrSLW1Fq9lKoF8OxVBUWGPwQgj3F4wQs6WbV1FvYWEBBGWEIAzw4pdiG1+wQdNAHZ\n        KKiLF4xpVO/eaFmr3IZp05qCD6eKUJmClnU5NURgBzu9nl70tVKQbd/miT3aIsZy/4kCALIjVpNeULhU\n        kVhm1aig4yIXAMtFaBsOUwlOClYGFLVoNg5r/wsRgLVR2xVTc65pvIjkrxbZScIDy0is1fi3vIiQ10rp\n        Kp9FdXa5cYhvRFFL36+eQbyfyO8nYHvdNzEYkQWrBEZy54YkJGFKYcuACGAMgtlWtsHLoKUSMVI8o6rr\n        swUggIU3VFrApjZ+MhAxGTpsiaMsozBYwxGJU3Y/aWUFOb6BxYqVUNIRI0kELbqDs2osy/RewXQG8CyQ\n        /xqHFKC2ajCQAShZ6wZRvIHJ1uXvcKAco9p9IM9mAyO6joeEA2tZEEhaAYyxl54wAyZ0ZD6AmV11Tuf6\n        ic3xg8GGzeAeDyf5erDF4mwnlx4Q8PnEyGEj++5RDEEnYHdIKkEJRACCMv+ictEXsQ69dmeGpEwaglWL\n        QfzgOd0qcLoSECD2KEKc2AA3hiEfCAGf8+yfUuVyBCUwgQeKYIEKRCAJCsg1jLu8pDLWWswuVMOu09yG\n        NXPS0vY9AzJG8YBji6LJdzYxFxkCglh7aCTS1gAuR2ACEnDAAtq+shLaFKMui+ADrzwaua+EK3R/Yr6+\n        jt862zkFaMS7GRn4QBTgubOhCkQDsXYRrdtAHjaSwAMFNzi3V4yUGzWn4V1UNMR3hCukCBmwqIVBDGLw\n        5k9net6GsEYlZIyFD3zcCd9KbJ+joO9YQxvKtCEV6lhO8ILXoRRYVoABNBeUC1IW5yESAAIUsPMHBiL/\n        wxZ/c5ydoGkPf3gNIlisdVvwx7shXd/P/iCszlodD7C84ATnwLa5juUJTOAAA5BYS+EEvrI/Z1sC0PnO\n        QbHm0/66vke2p9wtoQRLiCAEk7CzyGnchgg92+/aJW/KtSABl7ucAxuoEx1WTAEKDMECXHeiHTYn+cm/\n        hhGkvfxPLVFxoLv5zkgGfSWWXAmm1zYK37r0k6G+5xAAGFZgoa0WAOrySIAfoEmgwAQUMPvZSyz4Ix++\n        WHJxfN8iIrC+/jWmy0AZVIjeEMElg8et6/o0597iIPi67wDdT3u0pAIsIBKwAqCsAe0oQP0KjgJ04gDf\n        j/IYIe0UIAHmD8M2b/k8/8+eiu4Q5A0RzgSV4Elykkr1aoey/KYF14CENKEC0Av8jEEAZGYCdE/bZi+I\n        MhA6FsH4EMB00i0NionNgO7XRtAK9C/eTvAQzgTaqk8FBLC/oGxcXM/m/Iv86oQLsiKzHGAANkRdFGEA\n        BmACei+RglADv4G0eA4NYMDnllDo0CAMZMEaSpDePO3OXukQAMzhEm3v1KCRcLCRVGEAfEif+EcAIOAC\n        /a8NYSMX4FAR4FBjOGkJmQ/umCABJiMPXasSUnD6PsXeZLAAVYYLUc4evHAVxBAZGHHCGhESJVEIlWLt\n        1GC+OkkTKUrYqADeZMEUuoHUQE4F3gz7+sz7+MmjoP8JoHAwDMFPERdRFtWFpBrgFGvxMW7xueYLBmjg\n        G9/O7vIPGPeP7uiNGJsgtkxxFdlgC4FruxCxFW9vIvSJpKhRJ7JROIrvwiBozbwxBmjg0oauDBpgD00Q\n        +aIhh2LrGMOOHddAZSjr4drAfJzxGe8kFvln4/KR+Axik04rBYCOBt6ulMiALp5PyaIwG1TQDgcwAdOg\n        +wSRAFmxaZoAK+pECjCS0DZSH/nRtDLs5wDyqzgxJj4RFBGy49DxmIqpb1IPDbivdrhPFLwQJ3/oh3bS\n        7IKMavxREwmLE8NAI1FBD9Xh3qzParDQJZ3S+2ZsFMwHJ3PtKtfjCM+AzdZs+db/aSDJYDJOMvRSMiGT\n        UoYGqyEd8iUHky0lLNLg8jtwkQ0+0v44iawyrShtQSzVYens7AqHAy3PAOoSsxY56SPtMgV05gxMUhhY\n        TB7ujWPqCxmXrTNd0yc/89fmyxd/UTLDUhhR8y+/pb5s6AVf8zezoS43TzRPoDhJkxyNch4I0BjtjRCB\n        8znly1PmMAZswC51hjanABkM0gT5byxT0wr/KCqhczwtQQmrxgZywAZsoJiKM+OkABnAMjmV0zKbjjnB\n        ZezIMz91CgZs4AVi4AZugDr7E5TQIAGecDKNjR7ubSGv0Df180HVrZhiID3Vcz3RMwdyIAZWqyTrwjQT\n        VDlV/7AFVlMwORNC4bL+qBNDAzQFLtQG1gk7m4Au4hMUt9MJDskSPC6H4OntRozfTPRHySCw6hJDe4AH\n        dKAGdKAHXNRf3DM2OtSwkqBG9wbEmg3kUIA3SbREgTQDP1MX2Y0HeqAHdGBMxxQHpGsckRMUIeADyeBG\n        cVQhr7RBtWtL6dQHJAq6rHCdcEAHjJRMyzQFIAcLwsA2J1MCjhKOQIHPSFGGeBNcxLNOgVRIMe7SkNRP\n        yRQHiBNGY0JGmYEvzBEnT6kYsfS3ZBJS9XO+poeTQKkG9tRPcWAGQOk6heRJRak7zwAxUZE+H8fSBtCt\n        CtNUO1MXU/XiWJVMa4CPANU4nf8QDfcyFKzhUMkAV1WPCp1gIUf1VZpj1H4VWOHS57x0vmZgTGuASdvT\n        PeGhWT2s29RAWtux2cICBdysmAIlWxnOObn1NzMMlL4KlFJgTJH1OpO1CvRyRkGxL82AXdv1L3fUzVCA\n        z6Suy2quNe8V4lQVPCs2Bfb0RTOtNDsVCaAVCxB2DahOVGXgzbYPBFYgZRmuVCfWNTspVfN0nWAASVuA\n        E/UyTQv1Q9EgZNVgZJvuSktWBkQg31BgBUoA8Fp2PFUVVVM1BWTATM9gUAk2D5GATaN1cpZOR+sL2Joj\n        BBANKrU0aVFKotjt4rw0MtFQShFhI6wWC9z0TVPTzXiT6sD/FmnFNli70VPWbSnNwCTRFRSIYA/a9gre\n        FkeptRSDVgW2D/CeclvvdvICiwpQq28n40CFYTc+1m3PEQCjwAq3FgXqFiol9nET81zV1gQ9dg14ljBs\n        C1CKzMi2ECpJ925vFr/UdV03l3M/RUS/sQXo1m5nN2nhE2cNKxIyl3D5kCyNkQZuQAaojp5GN3ivUmr/\n        FhT4QmfRoHC5CNoWtV9kgHlpYHG1K2ylVxKZlXhbCwlOlwm0F99S83txgAaGVhBat3zvFT4t93LZdg3a\n        FxFoLixUAENFsvSaoObI137f7xnO1XYNdX33B9l8tglU4AZ4IAdoIFCMaTgQmFuHt3qt/3fFBvcKVpd1\n        cxTkaGAHUPjN5muDW/ZmP9V6kSeEq0CqRuF3XTcHeGAHaIBfNZWF9dMk0XBqEdQUFtMKaLiGaS4K3CwH\n        mldfm9SH9VOB0Td9bfUMpgrZcvQl4LW+SlZIodhUB5ZQlyEBeqOKzeCKNzcp6auLBfKLIfVcp1gW6CP6\n        0mDCsLh1p6fI5FZf78uN8zOMPRhwV8yBFxGJa4dfQUlu4zVV/RhIgViMnQF5HBiNJyeLMyDkvoqL6wvj\n        +riRn9MT9fKFP7hqVdcqIdjEpidoBbKTPfk5O1gerndNS7l//deSmy5ejayVfxQemFUe8kCW1YCSKzmJ\n        ncAYYVeXTf/0fANZkAVNhmfYlHNXaxU3EpF5PF9ZHYjAFUpnljsti60LdDWzmtvwFBR4AOhMHXpCCYrY\n        CpBLFmR3tsxJnF2zds0DDN5AlEHB69b5mWm5lg837AZGnuESiN8AFvhiDwqyGzbCUNnAjlGBe3W3JR1X\n        oHFuMuSNjH0CodHZFcz4YI8Y2fYNlU6Koq9yeA9aDwZVHTi6o8tAqkZ4DVAWBRbXbrCRpDPQE9HwpCNB\n        3pZZySSZDYQ5FEIgZWW6MBwlem36jGSDLk5a3vL3cn/ZmasgAAignw9B34pWpqMsnJN60SyaqY3hGZ76\n        FujjNNfgoF66Z0UgZQ9tCsykKbs6zLT/8xmewUDBwJzP+aJWWqqpwMd+7HpiawU4RkKyWN/yLeni+v1C\n        Ga/vmqZ6Gb+QYA+YKw2qarLt5wM4RrC1lXuHVt8QO7HLjqlzerTfYLTjON704HgJ96D+OnlBoGiHFio/\n        QEK47LNBu9bKma7NWUZ3u7TxeW0FTbWpQBareqrSurZqBwRCgLBl19Vi7bbLTjt7G693W0a/shkKh6NP\n        F6+qcsKsmnUVNULcFaKZQOpa5IChu2HumroVWLdBmRkKZwJI+VaN27h9qJab7XfrtlFqW8rSm9x4ma5B\n        +ZGX4YeSZwKA2Yqnkb22Fz/+N0d/FyRgDIq+579rban1Uh4WRQGU/0cBCgCvrJi7v7tnsxjamDsDNIAE\n        BK53IJJyLDzMxJqn5WEAFEAAOHwCEKC4PzpaXbq74RZsP4BYVNwETCAVgYurX3yI7vq0ZWEAdC8JcJy7\n        Q7wqgxoQSxzCM2DI39pZbi7JayyU58HJKaD2NkABFmABBGDHQfa+R2rEEzZ0iZwEYNLhvPzChXgZFKAH\n        PYADdI8B0jx7hUG/LVnFYzCg6/xuAUAAGED3JpDRF4DN7yO/Lbk5SIBYDBC9D10SSYvROV33DqDK+0G2\n        n4wEOoDLfTTTW1YAxLzTGZ293LwZwrs1DJA1kBrV8xEMWJ3RBwDEI109xC6IMN3WMxDXWZ0BXP+9Iv7S\n        xWTErYQ9ab0g19NczakCyZsdUiOA0Rd9AZi82rm9DS4AAiigDLt93OdpMqSd3NH9QtJ93dm93d393eE9\n        3uV93um93u393vE93/V93/m93/393wE+4AV+4Am+4A3+4BE+4RV+4Rm+4R3+4SE+4iV+4im+4i3+4jE+\n        4zV+4zm+4z3+40E+5EV+5Em+5E3+5FE+5VV+5Vm+5V3+5WE+5mV+5mm+5m3+5nE+53V+53m+533+54E+\n        6IV+6Im+6I3+6JE+6ZV+6Zm+6Z3+6aE+6qV+6qm+6q3+6rE+67V+67m+673+68E+7MV+7Mm+7M3+7NE+\n        7dV+7dm+7d3+7eFgPu7lfu7pvu7t/u7xPu/1fu/5vu/9/u8BP/AFf/AJv/AN//ARP/EVf/EZv/Ed//Eh\n        P/Ilf/Ipv/It//IxP/M1f/M5v/M9//NBP/RFf/RJv/RN//RRP/VVf/VZv/XvNQgAACH5BAkDAD0ALAAA\n        AAAAAgAChf/bA//cCv/dE//eHv/jBf/jDP/oCP/iFP/oE//jG//pHP/0Hv/5H//fI//fKv/jJP/pJf/h\n        LP/rLP/yI//+If/zLP/+K//iNP/qM//jO//qPP/zMv/9Nf/zPf/8O//lRP/pRP/nSv/qTP/yRf/7Qv/y\n        Tf/7TP/nVv/rU//nW//qXP/xU///U//xXP//Wv/sY//tav/zY///Zf/0a//9bf/vcf/yc//7cv/0fP/7\n        ev/2gv/9hP//iQAAAAAAAAAAAAb/wJ5wSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrN\n        brvf8Lh8Tq/b7/i8fs/v+/+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmq\n        q6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm\n        5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wCnHTgQsOCuAwUMKrx1AAHBhRBjIUwYsaKrgYJUWNzIKoWK\n        FBxDmvqYAuSRCBdEqryU4sWLki+GfJgpAkSElTgllWxJ8sUJ/xEsgpZImbNoI5cwW54IETToB6NQFe1s\n        +fLECRNNTWSIytVQ0qpMm7IosbWrWUAfX7YsiUIsixBEz8rVA1PtS58n2rJw8XSu3ztJ1wr2qEIFi75/\n        E8PxaLfuThUtWqhYoVWx5TZ3d76AYUMHjheFIas4cfiy6TV1a+hYraMGaMkqXqwQcbp2GhiqWeu4ESO0\n        UhQabQsfgxuH7hmwSe4czvwLzNyeZ4SeHru59S07YbC2ATr49e9b7L4wjkO6d/DorYDm+aIGjhoxWqSf\n        b4Vw4RcxeKtAQb9/lI/UqdAbf/4V2MRHJ4SGQggihGDgg0rANB0KIEB43UNSKFfYgha+k//AHhhFQZV9\n        NXXYjgIKfIhHiCK+pGCFJrLzAIoqKqLhfg7GyE6KNUo1XQsl6rhOAkQuckJ3LwrJTgIKGFIWES5uKMKT\n        SqbTYyAaUNkDgC2hEGSVEEo4GoxgPqiWRz9pWWZ/JSW5poFrbUjmm/4VhqYIGtBZYJuFnTCnnvNNlyag\n        /kXpJ6GAIOaOmLQh6sdMM72jVl5/OpoHpJGyQ9JoOVrKB6aZnhGqLxJS6GkfoI5KRgYzZaDmLXEudeqn\n        qdYKaheu5srqrbXslNers9Jh67CqYqFrrh+4Wiwsa8karB7EDovrscpC2mubhz57abSpekEtCOBaSwtP\n        P2m7Lbe8bkH/LavhKhrLpieYiwe6oIbQaRbJUvsBuCFU+gqAzso7B70fMIjCweVqASqy+zLY4LigESiw\n        HAQfDJlkS4lbRauYIhsCCitEZiqzscU7cRzR7gqpgJHFEMMJtVKxMKgHoxDZCrP5iwq2J8Nhq64XqBxC\n        Cy4XjYK0UyQ7swg1gwwkuDqT4tJoPaO8cK5BqyzCxS4THQKxMqsM6cE41wx11KL4WrXVmGadQdZjR0Z0\n        fCpwmzTHM4HAdM0i7Au1Kt2tPTCkrmYNd8E2yx3f19HerbFMmILQLyoumiw4xW8fq8HZIjDdcgtHoxsF\n        x0lAyi/anZRk+eVyFH5B1meD2/nBcjMu//oTyxaR99+lqM56HVhXu7vkBpdNcO5GIE/E8OCOotbvdrQq\n        tulQz16TBsd7kXe/7qbuE/R14D1s7EJkCQLBXQzfvSbLgS9szE5kgD36W2x//ieFTfLA/krCD0WW00Na\n        /aC2vkvkT39N6h+mqpCr8zWOC3673yYO6L7wPY6B83ugwgg4QZNU8H0FZGAA06Uw7rHvg3cIIb4EqIVw\n        ZaI6bVgdCtEAti1IDnWN8OAarDLDNrAQCy6sBAXVYBUe9pANtuKC5FS4iPOYoYhQlOER05DEDTIxEU4k\n        A5KiaMQpqqGKWQgiJF6Shs3A4Ixc7KIXaditFirvEDokg1VUwBkbcP8nilRb4xraGMY3FiKOYYhie2zg\n        miLmUY8+JKEV9vUIQILBkHOcAQx8MpoiIvINfLyCH93gqgzJMUGVNBleoJjFS+5xgX3Mg7LoAEk1cvGQ\n        pnSDImUmweixClhETJAliTDHIewylj67IBVqCTzpyS8DjcrlL5egxiPeZA60maUUmhc+XeVLbztcZhNw\n        +LtcyUFykNvkEsRZBuEpTWnJPIMhgckEL9Xsm8sTphTIGQZrMi0EurJXGrTJTiFIcj9km13T+APQdK7B\n        Xl9LRL72RbYWuEoDBiVDJft5hDOCbqA1C9lFM9q5iI5Bcgdj0L2chLiQxQAFrPJoIKVIUSKowF7/He2c\n        RjeK0b117pF5EYLk9lazkRLiAyII2QoOdj6frrSlTHid2/RWAn7FFKNNu6kWarY64kV1DrgcJ9NC5qX5\n        PZGlSDUCSi7ggLHGpQczQShPM3qwjk4VBVU12EBlidYrJsFpQy2qXbHQzLAiIQKABawDLvBMJKi1ozU1\n        ahg/lpd37jGlKm1CUHHWrwzgc69V6Ktfj0BYwBJ2sFBAqDv5Flks7K2xEjsDqxym2HYOdaRZ5StYN1uE\n        sQrhdYWVAkyjKlUvzJWKeuttFIiKhtnStgwCvRmHvvBb4FKBceo8rhuC6zSRPcwL9morILw5BSJdSQnG\n        le4ZdjpTkHkJu3v7/0Mnm/ChhyTgAO/17neLEF7xpkFvcpObl7gZ2tIWEwoC6IEA5Evgk2yOv/Ytw4En\n        m9/9coJVTyCwd3nEoyI84MAYSLAcDsw52r0WwYtYrxPgO2Em8YhJRbgACDRwVg3DIU9F+FjiHHwJzAqh\n        xBK+kopB0GIX5+FjZfvSJGJrBCJR+MgJFEIENMBiHwNCruelBJGLLGEePWAIS+axkwch4+tGwsZDMHGV\n        lby5Hm/5Dwbz7yZyTOIePOACTT7zIdw6Cu+SOL5CwECc5YwIptUZvpzVQG75jAgGhWK+PYCzmQk9Z1RE\n        4G2MhoSaMwEBDCw60oqYNKY3zelOe/rToA41Lv+uLGp3NKABpWZHA/bngFQb49SwboADYn1qB8wa1rPO\n        9apXjYRdn9rVvXhABGJta1kbu9bHxjWtkX1rBzwAAoGF9QN2PWtSAxsW1bb1tE/9AGejmgll5fatp33r\n        WEcAA+j+LK2nfe1WVJvXZhh3BCSAbnSvetrDZne7T7HqVscBJeiOwLQH/ut9f6MBAl+2wQ9+71MP+9sL\n        38W6kDVxJyBc4O9GScRfMXFlrStfHQc5tWrrAQ9YuqwR4AAGprxxTUwc5CKn+Mtl/nFd3bbkHgjaBTpQ\n        cpa3XBK3PBauYh70joNrXUH7eTM67ioQlIBCHueu0p9B88mCYORTp4argkr/oasTzudZN8b5mB52aXgc\n        5kIvuzOiXvS0q33pNQfz24nBLhHPXetSv/s08q73vfe9DDH5eyMDL3hPxM5eeitqvxYPYid8bDQ2AFDh\n        LXE6h8X08jGFaUdhGjsmQwEEKljrTzQ9eULIbqedK4EIVM80zG8eoYg/fexWzGQNWBoDEYAABHg0kAi0\n        YAYn7WnpIeHUjg61re7cfINg78Cj1/4C9ZbAvKePewlcQAL0xj72dY+BEsQgB7w52PAPAekYd1T1Qz1+\n        SJdvr3r15aG4BSwEHpCA/Vl5AEOgkZgVoHsUvKAzrZECqTV+gqAsMOIws0E25sV+7YcpCXUE80d/7yUA\n        /xQYAEwQAAEAZ3oDVyrgHp5RAzBAgIWwYEH1OThzfJ1jO9JEBAlAgQKAgRjoBDAIAjVjJ+6BA+8xSSKI\n        SQ+4TbIjU0UTH0OVgg2ISklAJAIwEEoIaEvggi6YAdTREjgIgrFRSjtoBkZYOiDAAohlMzEgAzJwUq/H\n        OA2IBBGIIimChgqwPxCgBBL2EFuDFHcBA1RhhVdYBgUjTR9gAi7gAjJwfEMFhl2zIGPIONSEZQKne/MX\n        gfvDP03wgjFYBI5xJo50h1iYh1/Tg5jCAmBIA6CDMy0TH4QYU2fjOvGne/bHJPIFBTBogUZAiUlhiYkU\n        LTImAzRAAzEwU/l1fp0DLv9M9jZKJQTPJoFEcgAUiCEyGAAF4IpGMCJI4RGyiES0CBxEcwM3IAP5ZYK9\n        6IuuA1hEoABOCINTUADkuIxI0BOZQXjRyEZ5mFaQEgInMDczMAO8MTdfWDQrADW/+I090oriqASROATk\n        aADlyIxFMDVfUYnrKAYO+I7ZhR/zOI/XeI/36AItkI9XV2TGOAT+GJBJ0Io9oIzkiAAkiQBI4CJE0D4L\n        KSoOCHvAEQMzcIvWCHwug40XiTNCRgQwmBAdaZBJ4IQDYGINQZIU8QTquJJksD2HFVQweQMzYAPWGISz\n        sY0fiYEFYAA92QT744IBcAAESZBXWZRIWQew91Q1QwP/1piWvCGEvXiBVkmQ/vgE/jiQIymWYzkHqNd6\n        ZAOKaKmWwDeV3LSTBkCSBzAAz6ZxTTCXBYAA5YiMdxkHmrd6JziZK5Af9BiToqgzPUmBCaCI2BdYrOiP\n        RLmMPvmYbsAg6DeZe3mCMBkD+AFQPzlg9edZ0Ld9CkCUoYmBkNiRphkHiHWCIEOZQ1g2edEgITRWLIZ7\n        w/ZejFmQpYkEFdiTvFkFANCbTjBoQuAwwSmcqkmEtqNPRwACuLc/xtiK5JiVACmduhmXVFCdcFB+C2db\n        RABkqkmZyceABgNKfXIE/ggA6umRSKCeu8meUQAA7vmeewZsSgVaQ5AB2ymcpPVU/3MUG0UDSzrZk/6J\n        gRkKoPypmwMqne1ZB1mSYa72OoPljbd1AUAlmemHk10IHPdRNN3xE631nxiohE9wADZqBQZqB3AGY5F2\n        ooMmWLjVSSjhWRlAXsFpMRTqMjDgMqCRF0VYQOppjC9YBdPJo6q0YpFGWLj1pUpFVg91pJ5FmxoQAiYF\n        kxHpMpW0IO3XgwG6k1aqoxwaBSB5BT2aBzsGpGdmVl7qp6/zfF7aWUETXAISkVMTUmUog0tImgRKBf+I\n        pweKB1nGpWcWf4MaWCihASMAAiNAqBooUKMRG3ixfHkoBQPhqOiJpXVaoHmqB+fmi3lgbYBypKD6peAy\n        AiNgPv8baDOhwUNSqoJyF5IYeqdW0KpPQACvygd6dj15wG16olS2alYa0AGeWgIatQIXsyG64z+5aZCt\n        GGBXkIQ8SgDKCghw1pZ6EGtrYqvxhxLXalIyAHzcigT10gVJqKNwAADmSgCBsGSr13hssGoRMGtKMq1h\n        qgElQDQxSZOgU1rtOKyJ+ZxpwK/m6p+AEKsNAnZuUG7YaSCDqlSWBTKtOYj9cmlC8I6QYKAGqqznmrEQ\n        1Tl8ygfHRqsF8qVJ6jnZuF8s9jrjRE+BwLIGWgCT+gcAmzOBgGzw1h8iS4Ne2GA18TbyuQQZubIsq6GE\n        ALCqJ7Bx4GsFlx6vA1TUCLVXJ63/KOsIyogEG7qs/+p0SDsI3YZwsmazzSE58ag4+9E3X4qimECOaquh\n        GVoIEeC2OQkIsFawsGYdjPU5D/sBYeqzmlCO0CmuiJAAg4uTXEsHynZrwpE4ZBuyiKkJBGCOlJAAKlY2\n        mUsHcatrsmYad9tgZZupkBu5dgkJKfIAGABkI4MIuFZuigFKkZG3WAa6Z2slnQlRODmzhmBsxba0RtFF\n        aXQSmPqx7jAjEsBUNUGiitC7tUa3IbFLXKQEX4puvOCYc7CIMdtRynsISotrKwFFo6RZRgB9AScIbbgi\n        swoB11sCTzcDIqC9i5BrxdZsFZFGnIEXT3Bu5AsI3gsHfssi/3egewobMsCXuntQa6z7tUjgt/mAR3Z0\n        RlIQunzwbHhQAOaLB8+mASsgAzkwA6O1H4xAa6zrb0agjM2JD3kBv6EUCQ0sB2nrB2+2AjeQAzSQgMDx\n        CP3GvIl7BOXIwfaQRvyUCPO3ByYMCCJANC0MnKQnCJvbvEawmGBMse9gFQgDRY7wbPerB2J8BzJVmTe5\n        AmQxCczGukVQl2vMDjkcvo1Awn1wx3bQxixwkyUAwDy8udB6ofcAxY2giADmBrXLByAwmTc5At9Fvct7\n        bHTcAy3YwcAaxYSAxlEwYFzAsYTQxhpVAhLQI0zoCMM2w86WIg9RgZysCIwMBe/VBcWbCP8hwL81ga0r\n        oAEzIgQuGAnte28zMoEDdqX4sMVpYMlFoIjOfASyyQW5nAg0aBNE8mzSNyMKMBAUKAnINoy6RyMQsAAL\n        QLnowbdLUMu2fMvULAV+jAcg8ABWyiTzJgHzB8vojMRzq4j+PAEUsAAKAHHXoc5KgMbRjARFMspS4MSD\n        4ILwxX8bUAH5/F4n3AjSBmv6awEWsAAD8LXuexqgyQTQpntU4F24HD83IbmGkK/wpb8bsAEVfdGNIMBz\n        KwEbYAETIG3D9nAErRgirATQHAXwdQBoiGhUAJ9M8CGjawhGpob8BwEVgM/jTNMYLW3oNtGI62wDZ7CW\n        MdJLgMbQJgX/ExbM79wEeTFs+xwISfjUaqh72jfOSO0IBJvV40lwA5fQRgHWYb19J11i1FzNfqLWLc2Z\n        JgbVz4YBVA3LlqDAGLABAbdtupYYnaXXcG3SUwBfLjjXUwB2hPUAa83WbQ3VNMJ/OK2I3WzVihBY9ZZw\n        zavBZ8HXBz3U3YXM36wu1XxbBv3QxygApA1f2jzV45zaR0DKdyBth+ltBOfVse1ZTWDa0mcF3jXMoZ3U\n        xp0IQMkkA/DRLqjNij3cDcFZ7Dtu0tZsx9bcu40E2jzWeDC7mgCUySwAA+CE3o0B4J0E1w0HsbY/yabc\n        7MoVmuoEcB3deprbj+CECJ7d3GffuzfX/3YHCLOWbw3X1T4dFYFVzdosfXrdBjr3CQn+4QKAxugmAU2g\n        1EmraxmcxD1sEZq64QO+4W4QjJ5AgfMt3yDOJA+AfbjnBEk3CMa2ut2LbN3giHDQ4loJ1zu+B6+T34oA\n        4vDd3UpmaXrt3ob749wmt/8dEmXq4vr7mX3Q4TMOlDX+4bV1fXpt4n9w5bJGwzlBVrKdBAPO3nyw5B7u\n        5AkuVvXLBJkjCOa94ixepk6Q4V7eB5lj4Gds53cuVta34VQ+wkKeExee3kcA3fqLrj3eCQLn5GN+23ie\n        5EmF5uvaupBu5EeufTAeB5lDyJnw2S345IkuvXm+BHvuB852Dn7uBf+a2lnsNeAErl7yo+qYgHvzV+NE\n        YONjrgSAJeVNoHNMjhOcjcukvtRdHut/EDTriwnQJ+dF8Op/pcCM/uDDcepPUNlvjgTQrdjiHgdLDuyZ\n        QGROyATzRu3iS+fNke7w3uIbfu6SvgdXt3KvUN1iBXAbXui1iu963ZnTPm+DsDme9wvJ7umyTu/tiu9O\n        wCRdPuiC4HSW6vAAx+7FDeZV0uKEVfEDrpyEkKRwbMGs0PEjz5H4nTVVQu77XgTQTW8Qz0pL8DqRTBaX\n        7gsPD/FivOTNbhsiX1ZOENX0Nn14MFsJq7A9a+ixwNpAnwQ61+j+EekzXwSdqX2KDfXRRfXWbnv/Eh8M\n        D9/yQtCqhQPq8/GnRzpiNZ/0eVBfgZolIC8MP59brcrsXn8ZBr/hRn3xyo4HdlgEvyj0xiD1g0axS97z\n        6CHzWS+QNS/vdABXTqBnwGj1wABYNp/4SFDoah/uBu8EBbD12Wf2UsDpzFVfQ6BoDbr3soBy9Jv4ik/w\n        Bb3lut4EBHAAgP/4sTkG8nsEltYMBevYst/5wDj0ReH4pg+QRq3jcE8FqP8Fv38NUr/AHDn7zA76oZ+Y\n        BYDk1uf60e9bql8NsJ9uRYD2i4/8IVHZ5O4E5goBG6DjQQ1gAD9V058NFz7i54/9wAgEPeGQWDQekUnl\n        ktl0PqFR6ZQajVyx/9dnoADpkDCYyKUqEFSfqBOa3Xa/4VKsJEwmBgLIzOWS2ccBAwUHCQuRxq4usJwQ\n        DhAgNkZGNBTLzgzV1gw3OTunHK7q7Ibw9Pj8Rj1VV1lbn7KyUo8UIWolKiRHQPiozC4BVYZQVIJdjY8F\n        HUAjwsSK8PKMUPcykK2vsau0hmCzmCIgJG4rMHI1LH/jXohO2rPf4ZkcHkLDIp5Ljfr2ZeP9/1sh4qYo\n        1j0mtiqI02Cul5lBKYSp0ATQ0ESKTubVc3YnXxF+qC6GFBkIlpBulZqES0hnIQhK/Zj4GlSsR6aRhCwK\n        qXazyDJmdfBF8zitD0+jR5sgStQDFkEnBRSsFP93AQMfPgafOJw55IREpHFE5Nz5FQtVe0GPUDsF82vb\n        kd00iCnphABUcXIVWc2bNR2gdUKG5XSLRrBbWHWwCoGWll/RwY/jEeyGBYMGDWUTLwEQAIE4z3kl82qi\n        VRBNFIEhtxE8FmnGn2c5CiVCbY/j1LePnRxD0HKHqijp2sVAJy8i0aNJB6JJrDDuNGIHZ2l2QQJaaWv9\n        ONfOCjPcDiAmYYBSoMAjccZBsz0ic9DfmhKbb2dCcwhrpGWbbVS8WJ/a4/IBHES3RFzqwDLglgigrnAk\n        0CsRBJdgr7RiuiImGwisWe2xCOh5TbzYZBtin9rUC9BENCYjqLK4rtomiQL/6oIKHCKscqBEIiQUxD3m\n        3nnAmmGKyM4w6YACcRba/jhRSTcSmWy3Jl08IsYCktgLueSAKUYF1LLxEZmwpNkQP9hI4W8otexbUk0o\n        CnLSmyQAMIDKJf5L4oAcAUnhL2IsfAfDH3Oyra0HMjJLv/06ovGjG9dstAjMJHNyCRjJewPPPIdQoQU1\n        4PESGU5nS7M1ZV7rB5oQe1iUUUdZdVOpMZjggrxK2bhUHS15hCeBa8AMEjJl6DH0QyODJEpUVpE1qTul\n        nEqQgCnb8KWvOFSASAhN++wyG69C/XWOZjLrIQABEhXiFBKTTXcgV6NMYkoCorUVjhesfSHXHrMBcrZV\n        /0W6IthmjEgAggTKTRVJtpJUN0B2m1VCwVnjxdKvv+y9V9tWPjACVBqPNcpfUMAtohYIzKzPKg2EVLRj\n        hVMrDsq5JqUVDWkLSaFPPulrYtdNPLUmrJxTjo5DjYgApxaCC94DhBJEACFjc1Hhl2WyFuEmlqdQlcKX\n        AwqhV4gXWrD4wnf0rS9ow0h9zSRQanngVGlEEKEEplH2Q62pHY10iQP4FrdWed9QweuKt4yigU4UMCbN\n        ss2+LW1m4rqC1KNLHmJpuUvYxSpq8Hb0TTu5jljiOPT8ms/4kDic58RdeZoIEbg1GbdYDMRg5CsgcLty\n        IZZmOoTa7u7cc09oJoReiP/sbSFswzt5YOdWRGW8B5BSSySMEUjooIKEGmgAnAPeDhKEuH8nSlDh0a8i\n        gTtHn1fPF2AgHPUjVN9k4GMWj12nlQHJAAT+tUEVDXQAeyTwwPYisIyjgS9p/ovaiOqUPgk64QAKYN+0\n        1JGC91VsfkYYgCd6Bj0jwC5np+CE//4niKGF4QskcOEGtkcqetRCAQkQgMwMBjwI2m2CPWzCARJQwzvV\n        7AX0KmLFUBCFEBZiiatIUwiytT+poUEDIEihCinTQhLAsAKESqDRRlbDaOilMWiKoA/R2AMBVFABjTCE\n        njbIpygMoH48Q4briMAlnZxvEFa04iCWATINGFAc9CD/VUZGBgEK3ClYZNQhUdLYQ2ltDQFC7JoRi3g6\n        JYKwiao4W02WF6opUmF8IQABITqEhQ1IwHugcGUWajGBBRRAABOwAAQqgMsKRMBuH4mkDydphiBa8Hk6\n        el/8UuAOKDygk4JgpjXSRMJiAZAN/jPlKQkhuSu08pU+wQIE2oiABFiAnOW0wBVoM8pfIiuYQLQhBt+w\n        wUyKjQl1tF8xW3eEYdDHbtREQwY+cMVsJtCVgfxiNxtwgAIcwJbmJCcv9bLOSPpiXMGEJxqKKE96LoGO\n        qrgfMj6JglCaTJ1S8CcbDpq2biawe+TCgwASMABwTsCWEEinRCdq0Yq2rwqYjB8H/w33QU98FH/RjGIO\n        q3dQgirVAQ1QgEtPNa6d2og2OE2jRSeZJw0eMXk5Y0JHPYpPjD3RYlV9zCG/yNSmIi2qUTXXPqx61Z3u\n        9KIY3eoR5QiF7qniAUTFnz5bIBY+3mepK3VlA6CKh824dY8njSs7sVrXKtwVr8RI4hMaIFQQ/gmaixsp\n        1D55lLQa9qBlaquZSvrYNU2SroLY4E8tKwK9arZ5zXSiUV9gkWk8hptMHS2IFLtY1eYUq4E4XgpggEzL\n        6jWmqwAnNgA6QpHyk3pt0aZSW5nWoCx2d8O9Kk/R8Fr5yfYJCbAnJ3IH3eh9NoeOjcdoI6C6j30RH5vx\n        rnfBS/+FjOopfprEbAPEaj/WXSOkZe2De+EBivOuzZXWue+DM1jE/rajg0UAK1+fC108CgF2n93twryH\n        DwiP+A1G5G9uu1JhIgyAts3z6x1FdYIYlJCHJgoXiXHMBg1uMJn6a0JmF2yIvga4dSGdMT8PnGMlpzGj\n        EqYXhecYZEMcLRs1ziO2QhXaJW95ajtex5OViVkWt6IW8IhuETpM3SRzmc1ToxcMapBcFCfTcOYls22h\n        t179fbjNfU4Wf+NcAxSreAiZxfMg+nro23p2z/3086MdJeFA2yC3Ushsi5sXgQFj4wNnfp0KZpzlwUKa\n        1NoR3AvijGoc2EDQ7bAWRy+8ir7/bprAn4TdjCeCplLv2jk0sRec6VUDHOAABvB5tRKA7AoaxiO0+6Qu\n        53gdbbfAMbkwsIENYKBBa2cbykyIaaw9+uJap+kELYhBCzgGbWmv2yg7hvO1Z5DMdsBn3k1gsZTtJ+7O\n        bvg9Ycv1gRHMboG7Ao4pqAEPdpADe51Agyn2MRJYDG6POo/ZH+A37CpmNnUPnOP+8CkOEn4DkdNABinu\n        yo8BbIy+6hukVhbGC0JtMpd3nObI8PJW40cDkefgBiU3ub336ooZ/mPm/Y5d1ACa2povnQ1H3DEc+aRz\n        kcNHIl41wgMiboxl+8Pi+cv4/vxgRS0znex+KfhxM0qMqTOH/8Lzu/cxts5sW4NaeaEa3/+UXna9M8HE\n        Nz+evW5AA4ZTeKOFzrrW0+sPgBY4bDQZnwhW8L+x753yk0W7l+kV7zD/+O2IJzI0O704sGlKBGEvwQoy\n        V/TKr76ncMTkVrvthAR8+xgrp/U7ij6MGMAcBXaLWwnqpnrWD98Jf3/6jhluuEvXnspE77TG6G4vu93d\n        P3Al/vWfgPbXT+HS+OZZ8xW/eCNga8aSB3g/HY199SuhydX6uxSwLnHngr/inzwBzMMWggOfC/0BX7/e\n        j08IoE4KIs778g0CQkfxug76jqz30G8tRu3/1k+DBMcIjs3eIu7zOqFtJKuong/NNMVeHP8QeNBPAk3Q\n        CNyDDbpnzJAh7oiu6EAN/0Kvl6rrBG3wDQCMjgxQyNrmIhZvcWIgCGOg03Zo8m7wCMXs8FTOBbmu0y5O\n        U4Kw9KaBz5CwCgmQjjCNFWbo9sxM9UBtBmag9LLM/6zwCONP/uYvwwDCD0JPY2JgBmKAvNKtDOnQCS7N\n        zloQAiJAAzXsA4kAfoooBOpwEC2tAK9hZPhw3NLkBW4AB2ag6giNEOmw+xTtABNwDRewCFRgBobtEatF\n        EkExCSIuC7VwZC7xBcWPCEAtB3DgyCIxFI/w0tBQ1kwxJOzGD69FCBvP6mCREGVxB3lGAnLnFBVw5oih\n        BYroyHixF8v/8AzxMA/LTCQWD4+6AmzspWLojBkl8d5mcf4koBJBr8YqRFOQMWyeTBsl8RexQQ/V0AfZ\n        cCfm7dRAzb/QkQ4LcAAScQOZEBON0V5mjL3q0QrV8RpWjuXqz9NeLggvKyDr8AFkERsKMh9rLROLoPHk\n        kCGtcBTxESLDwSDlLve2xAgxcv0GkiBrcSSmMcZMaCSr0Ly6BxjR6ySl8R2PJGFY0gbNi8UkUh9rgRj5\n        ESFJigxvkulkkRSVTSZtEaBwMSjzbijZLbMMr/NMsm3mBCXTb19W0imvL9mcRyoPcWTAUb1SsVgiUCv1\n        jsWYiR3BwUdgshASiQspwuLa8Dps0ixX/4+OEqCvPCN3WBAZChIu15AmpQF47HL4Iu4B9tIhu3GoakHT\n        jMJphI8fCnP1VrABEFMcIKD7vpL+pEBBsoYQQkAEKHIozmgylw7IBmCGOAQLsQEchNEnn+BZ4MUTQhMF\n        llLmmtI0+yw1dRAtHZL2DhEzYZMunkUVPuA0MgcJRkQodZPNgKz7RvEl17FthrMJZNM4ReA0UACb+uOP\n        mpPmKlMnUXM8pzMaq8AzPcH0UKAEQsAJawyFuPM7Bw4LdbB7Ymo8+xLuhBEwUTEETkPy0q+K4uYc5JPj\n        npM+M+s+dfArJYA/ww+gQuAEZtAPPyAE2JM5CzTH8BE6XzIH87MVDv8AEXnCPX+wROujlOoyQ9mtN6MT\n        C9syEADgACRgAiCgKn1wQvtpBmkwoIgwRVWU1+4tJytz+YwhABiKRgsAAJSUItBPR+1mkOqG/xwpN3/U\n        uy7NIcPSEMglRCdAAQhASQEAIHD0HdHPhUgEgvaPSqtUtVawuS5kAQRmYIIrLvsvR0OPBHSIjKxiTaUN\n        wKAyGxKAASjAAlZJARRgAQIgTG809Lqu/zoA6R4IQ/nUuz7UGgSAAQSVAziAAjA1UWeyTmcQZRZl4yYV\n        I8eFAlDVAlCVAshFUW2RUUtUR6W0NEtVGwVgAVY1VwUATK2y/0KVBDenVjHSDHK1WHeVV0OiUc//5oH0\n        VFKFlSS7ZwKKFVUVIFGRlUkFM0imtAafVRvjqwEUKVcZoAO7sErq0vq6NSCvQFBXNfFuwlnTVRsvYAAo\n        4KkE4EXjNV894QIeoFpdVV8BNhsuwAHINWAN9mARNmEVdmEZtmEd9mEhNmIldmIptmIt9mIxNmM1dmM5\n        tmM99mNBNmRFdmRJtmRN9mRRNmVVdmVZtmVd9mVhNmZldmZptmZt9mZxNmd1dmd5tmd99meBNmiFdmiJ\n        tmiN9miRNmmVdmmZtmmd9mmhNmqldmqptmqt9mqxNmu1dmu5tmu99mvBNmzFdmzJtmzN9mzRNm3Vdm3Z\n        tm3d9m3hNm7ldm7pf7Zu7fZu8TZv9XZv+bZv/fZvATdwBXdwCbdwDfdwETdxFXdxGbdxHfdxITdyJXdy\n        KbdyLfdyMTdzNXdzObdzPfdzQTd0RXd0Sbd0Tfd0UTd1VXd1Wbd1Xfd1YTd2ZXd2abd2bfd2cTd3dXd3\n        ebd3ffd3gTd4hXd4ibd4jbdogwAAIfkECQMAMwAsAAAAAAACAAKF/9sD/9wK/90U/94c/+IF/+MM/+IV\n        /+gQ/+Ic/+sd//Mf/98j/98p/+Mk/+kl/+Is/+os//Ml//sm//Iq//4q/+M0/+ky/+M7/+o8//Aw//E9\n        /+VE/+lE/+dK/+pM//JD//FN/+dX/+tT/+da/+pc//FU//lS//Jd/+xj/+1q//Nj//xi//Vs//lu/+9x\n        //J0//hx//N6//aCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv/AmXBILBqP\n        yKRyyWw6n9CodEqtWq/YrHbL7Xq/4LB4TC6bz+i0es1uu9/wuHxOr9vv+Lx+z+/7/4CBgoOEhYaHiImK\n        i4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXG\n        x8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vuJBvz/xgr4\n        A0gQmIGBBRPyKqCwocOHECNKnJiFBAoSFDOiIkFiBMYiG0JW0EgyE8cRFz+S6OABhIcNJWNWOskRxYib\n        IUyYAHFBps//SDdt2uQYQoTODj+TNkIZVGhRnSZgKp2KCIXNmzdJ5NQJQirVr4KsBg1KQkQJqD3BqvVT\n        8ypWjhxFiPC6tu4dmkzFkjixV+uGtHYDy7FYE2UKFy6swiVKV7BjNkMNx5BB2QXfxSsfa25j8TDlz4nh\n        DuW4ubQaF5M/y3CxuOlH07DJWHXxOUbKk7dRxN795eLNFKlDk+ZNHMzY2TJepIBbvLkXtx5TKE/pvLqW\n        i0JthlBB3bp3Kx2xjggRwsPw7+ijYC7rIb37KXBRluXwvr6T9SKQ2t+vhDBcEfwFeER4KYlAn4DrIIAA\n        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\n        V9FO74EffOEPn/jFN/7xkZ985S+f+c13/vOhH33pT5/61bf+9bGffe1vn/vd9/73wR9+8Y+f/OU3//nR\n        n371r5/97Xf/++Eff/nPn/71t//98Z9//e+f//33//8BMAAFcAAJsAAN8AARMAEVcAEZsAEd8AEhMAIl\n        cAIpsAIt8AIxMAM1cAM5sAM98ANBMARFi3AESbAETfAEUTAFVXAFWbAFXfAFYTAGZXAGabAGbfAGcTAH\n        dXAHebAHffAHgTAIhXAIibAIjfAIkTAJlXAJmbAJnfAJoTAKpXAKqbAKrfAKsTALtXALubALvfALwTAM\n        xXAMybAMzfAM0TAN1XAN2bAN3fAN4TAO5XAO6bAO7fAO8TAP9XAP+ZD6ggAAIfkECQMAKQAsAAAAAAAC\n        AAKF/9sE/90M/90U/94c/+EF/+IL/+IV/+gS/+Mb/+gb/98j/98q/+Qk/+kk/+Is/+kr//Un//kn/+M0\n        /+kz/+M7/+o8/+VE/+lF/+dK/+pL//BO/+dW/+tT/+da/+pb//BV//Jc/+xj/+1q//Nk//Rr/+9x//F0\n        //N8//WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAABv/AlHBILBqPyKRyyWw6n9CodEqtWq/YrHbL7Xq/4LB4TC6bz+i0es1uu9/w\n        uHxOr9vv+Lx+z+/7/4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2u\n        r7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq\n        6+zt7u/w8fLz9PX29/j5+vv8/f7/AAMKHEiwoMGDCO95SMiQVYgOEI9gmNiw4iaIITx0INKBw0QLFkNe\n        gtjhYUmSHTJgACmypSQPIR6ajAlRJQWXOB+RlIlyg8r/nEAZYTxJcwOGn0GTHqLJEyKHpxmUSh1kcmhG\n        Dxw6YJ3K1U/TmB7CioW4oatZPDNDiChhgoRYmCY5nJ0rZ+faEyjyihg7k65fN3BFmMib98TesDJN/l28\n        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\n        kQQAADMBAIAByHassaVtWG2bW2ASYASxfa1wh0vc4hr3uMhNrnKXy9zmOve50I2udKdL3epa97pX2M2u\n        drfL3e5697vgDa94x0ve8pr3vOhNr3rXy972uve98I2vfOdL3/ra9774za9+98vf/vr3vwAOsIAHTOAC\n        G/jACE6wghfM4AY7+MEQjrCEJ0xhmoQAACH5BAkDACQALAAAAAAAAgAChf/eH//jFv/iGP/fIP/iKv/l\n        K//jMP/mMf/jNv/mN//oNf/nOv/nPP/mQv/jRP/mR//oQf/pR//nSP/nTv/oSv/pTv/nV//rU//tU//r\n        VP/nWP/nXv/oWf/pXv/oYP/rZv/sZv/taf/ubf/vcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb/QJJw\n        SCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq/b7/i8fs/v+/+AgYKDhIWG\n        h4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHC\n        w8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+\n        /wADChxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFi9Y2YNzoaINGjiABfRAhIoQHjyhDquzjQcSIlx9QflxJ\n        846HEC9HiDjpsabP/zskXcaUOfOnUTcePnzgKfOo0zYeO3Ro+rRqGqIprWotoxHr1q9Xi4IdK0Ys2bNo\n        06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz\n        58+gQ4seTbq06dOoU6tezbq1a7cSKFyoQOHB64EVLujeTeF2wN3AfQOsMIF2BQnCkytfLrw3c4DIn0uf\n        Tr269evYs2vfzr279+/gw4sfT768+fPo06tfz769+/fw40/vjUG+NwwV7HeLEEF/N+f+XeNcbQFe0x8J\n        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\n        AFcCKoC2fwoAALbklmtukBr9GUEEgEYAwbnwxivvvPTWa++9+Oar77789uvvvwAHLPDABBds8MEIJ6zw\n        wgw37PDDEEcs8cQUV2zxxRhnrPHGHHfs8ccghyzyyCSXbPLJKKes8sost+zyyzDHLPPMNNds880456zz\n        zjz37PPPQAct9NBEF2300UgnrfTSTDft9NNQRy311FRXbfXVWGet9dZcd+3112CHLfbYZJdt9tmphgAA\n        IfkECQMACgAsAAAAAAACAAKD/+Yw/+ZE/+hG/+dM/+lI/+pO/+lR/+lk/+xp/+5sAAAAAAAAAAAAAAAA\n        AAAAAAAABP9QyUmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRK\n        rVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq/b7/i8fs/v+/+AgYKDhIWGh4iJiouMjY6PkJGSk5SV\n        lpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR\n        0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T1dwgICQkI9v0/B/n4+RtIsKDBgwgTKlzI\n        sKHDhxAjSpxIsaLFixgzatzIsaPHjyD/Q4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59A\n        gwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdylVWgQFdw4odS7as2bNo06pdy7at27dw48qdS7eu\n        3bt48+rdy7ev37+AAwvGUWAwKgIEDCtezLix48eQI0uevCYA5cuYM2vezLmz58+gQ4seTbq06dOoU6te\n        zbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/g\n        w5+yLL5JAAECyjMhQF69EvTulwhoH7++/fv48+vfz7+///8ABijg/4AEFmjggQgmqOCCDDbo4IMQRijh\n        hBRWaOGFGGZ4hgEanmBAYR2SYACHIYpQwIcljgBWiiy26OKLMMYo44w01mjjjTjmqOOOPPbo449ABink\n        kEQWaeSRSCap5JJMNunkk1BGKeWUVFZp5ZVYZqnlllx26eWXYIYp5phklmnmmWimqeaabLbp5ptwxinn\n        nHTWaeedeOap55589unnn4AGKuighBZq6KGIJqrooow26uijkEYq6aSUVmrppbUAgOmmnHbq6aeghirq\n        qKSWauqpqKaq6qqsturqq7DGKuustNZq66245qrrrrz26uuvwAYr7LDEFmvsscgmq+yyzDbr7Fiz0EYr\n        7bTUVmvttdhmq+223Hbr7bfghivuuOSWa+656Kar7rrstuvuu/DGK++89NZr77345qvvvvz26++/AAcs\n        8MAEF2zwwQgnrPDCDDfs8MMQRyxxjREAACH5BAkDAAMALAAAAAAAAgACgf/pSP/pTv/taQAAAAL/nI+p\n        y+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1q\n        t9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7P6/f8vv8PGCg4SFhoeIiYqLjI2Oj4CBkpOUlZaXmJmam5\n        ydnp+QkaKjpKWmp6ipqqusra6voKGys7S1tre4ubq7vL2+v7CxwsPExcbHyMnKy8zNzs/AwdLT1NXW19\n        jZ2tvc3d7f0NHi4+Tl5ufo6err7O3i4t4B7vIgAvb3+Pn6+/z9/v/w8woMCBBAsaPIgwocKFDBs6fAgx\n        osSJFCtavIgxo8aN/xw7evwIMqTIkSRLmjyJMqXKlSxbunwJM6bMmTRr2ryJM6fOnTx7+vwJNKjQoUSL\n        Gj2KNKnSpUybOn0KNarUqVSrWr2KNavWrVy7ev0KNqzYsWTLmj2LNq3atWzbuqUD4K3cuXTr2r2LN6/e\n        vXz7+v0LOLDgwYQLGz6MOLHixYwbO34MObLkyZQrW76MObPmzZw7e/4MOrTo0aRLmz6NOrXq1axbu34N\n        O7bs2bRr276NO7fu3bx7+/4NPLjw4cSLGz+OPLny5cybO38OPbr06dSrW7+OPbv27dy7e/8OPrz48eTL\n        mz+PPr369ezbu38PP778+fTr27+PP7/fAPopBP/g318E/wVIYIEGHohgggouyGCDDj4IYYQSTkhhhRZe\n        iGGGGm7IYYcefghiiCKOSGKJJp6IYooqrshiiy6+CGOMMs5IY4023ohjjjruyGOPPv4IZJBCDklkkUYe\n        iWSSSi7JZJNOPglllFJOSWWVVl6JZZZabslll15+CWaYYo5JZplmnolmmmquyWabbr4JZ5xyzklnnXbe\n        iWeeeu7JZ59+/glooIIOSmihhh6KaKKKLspoo44+Cmmkkk5KaaWWXopppppuymmnnn4Kaqiijkpqqaae\n        imqqqq7KaquuvgprrLLOSmuttt6Ka6667sprr77+Cmywwg5LbLHGHotsssokLstss84+C2200k5LbbXW\n        Xottttpuy2233n4LbrjijktuXwUAACH5BAkDAAAALAAAAAAAAgACAAj/AAEIHEiwoMGDCBMqXMiwocOH\n        ECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0\n        qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq\n        3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevX\n        sGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MOL/x9P\n        vrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjh\n        hRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oostujiizDGKOOMNNZo44045qjjjjz26OOPQAYp5JBEFmnk\n        kUgmqeSSTDbp5JNQRinllFRWaeWVWGap5ZZcdunll2CGKeaYZJZp5plopqnmmmy26eabcMYp55x01mnn\n        nXjmqeeefPbp55+ABirooIQWauihiCaq6KKMNuroo5BGKumklFZq6aWYZqrpppx26umnoIYq6qiklmrq\n        qaimquqqrLbq6quwxv8q66y01mrrrbjmquuuvPbq66/ABivssMQWa+yxyCar7LLMNuvss9BGK+201FZr\n        7bXYZqvtttx26+234IYr7rjklmvuueimq+667Lbr7rvwxivvvPTWa6+S/tyr77789uvvvwAHLPDABBds\n        8MEIJ6zwwgw37PDDEEcs8cQUV2zxxRhnrPHGHHfs8ccghyzyyCSXbPLJKKes8sost+zyyzDHLPPMNNds\n        880456zzzjz37PPPQAct9NBEF2300UgnrfTSTDft9NNQRy311FRXbfXVWGet9dZcd+3112CHLfbYZJdt\n        9tlop6322my37fbbcMct99x012333XjnrffefPdx7fffgAcu+OCEF2744YgnrvjijDfu+OOQRy755JRX\n        bvnlmGeu+eacd+7556CHLvropJdu+umop6766qy37vrrsMcu++y012777bjnrvvuvPfu++/ABy/88MQX\n        b/zxyCev/PLMN+/889BHL/301Fd/VUAAIf8LSW1hZ2VNYWdpY2sOZ2FtbWE9MC40NTQ1NDUAIfkECQMA\n        AAAsAAAAAAACAAIAAv+Ej6nL7Q+jnLTai7PevPsPhuJIluaJpurKtu4Lx/JM1/aN5/rO9/4PDAqHxKLx\n        iEwql8ym8wmNSqfUqvWKzWq33K73Cw6Lx+Sy+YxOq9fstvsNj8vn9Lr9js/r9/y+/w8YKDhIWGh4iJio\n        uMjY6PgIGSk5SVlpeYmZqbnJ2en5CRoqOkpaanqKmqq6ytrq+gobKztLW2t7i5uru8vb6/sLHCw8TFxs\n        fIycrLzM3Oz8DB0tPU1dbX2Nna29zd3t/Q0eLj5OXm5+jp6uvs7e7v4OHy8/T19vf4+fr7/P3+//DzCg\n        wIEECxo8iDChwoUMGzp8CDGixIkUK1q8iDGjxo3/HDt6/AgypMiRJEuaPIkypcqVLFu6fAkzpsyZNGva\n        vIkzp86dPHv6/Ak0qNChRIsaPYo0qdKlTJs6fQo1qtSpVKtavYo1q9atXLt6/Qo2rNixZMuaPYs2rdq1\n        bNu6fQs3rty5dOvavYs3r969fPv6/Qs4sODBhAsbPow4seLFjBs7fgw5suTJlCtbvow5s+bNnDt7/gw6\n        tOjRpEubPo06terVrFu7fg07tuzZtGvbvo07t+7dvHv7/g08uPDhxIsbP448ufLlzJs7fw49uvTp1Ktb\n        v449u/bt3Lt7/w4+vPjx5MubP48+vfr17Nu7fw8/vvz59Ovbv48/v/79/Pv7//8PYIACDkhggQYeiGCC\n        Ci7IYIMOPghhhBJOSGGFFl6IYYYabshhhx5+CGKIIo5IYokmnohiiiquyGKLLr4IY4wyzkhjjTbeiGOO\n        Ou7IY48+/ghkkEIOSWSRRh6JZJJKLslkk04+CWWUUk5JZZVWXollllpuyWWXXn4JZphijklmmWaeiWaa\n        aq7JZptuvglnnHLOSWeddt6JZ5567slnn37+CWiggg5KaKGGHopoooouymijjj4KaaSSTkpppZZeimmm\n        mm7KaaeefgpqqKKOSmqppp6Kaqqqrspqq66+Cmusss5Ka6223oprrrruymuvvv4KbLDCDktsscYei2yy\n        yhMuy2yzzj4LbbTSTktttdZea1oBADs=\n</value>\n  </data>\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAkAAMMOAADDDgAAAAAAAAAA\n        AACDiI4Uy83Ql+jr6+Tk5+ffz9LUvrm8v56lqa2AlZieZYiOlFF7gYhEb3Z+O2lxeTlpcXk4bnV9OnqB\n        iEOIjpRQmJyiYKmssXm7v8KZ0tTWuubo6drn6enku77Br2pxeDDX2NtL+vn69OnX5P/lz9//9Orx//n2\n        +f/4+Pn89fb29u/y8e3p6+zm5ejo4OTn597k5+fe5ejo3+nr6+Xv8vHt9ff39fj4+fv59/n/9Orx/+TP\n        3//p1+T/9vb2+qqvs3Xs7e5g/Pr7/bR6pv+YSIT/o1yS/7F0ov++jLL/y6PB/9Oxy//exNj/483e/+TN\n        3v/kzd7/5M3e/97E2P/TsMr/y6LB/76Msv+xdKL/o1yR/5hIg/+0eqb/+vn6/8fJzYHw8PFR/fv8+rV9\n        pv+TQH7/lEF//5NAfv+TQH7/k0B+/5VDgP+XRoL/l0aC/5ZFgf+WRYH/l0aC/5ZGgv+VQoD/k0B+/5NA\n        fv+TQH7/lEF//5NAfv+1fKf/+vn6/cXHynLs7e1D/fz99LuHrv+SPn3/lUJ//5VDgP+VQ4D/lUOA/5VD\n        gP+UQoD/pF6S/72KsP+9irD/o16S/5RCf/+VQ4D/lUOA/5VDgP+VQ4D/lUJ//5I+ff+7hq7/+fn5+rzA\n        wmPl5eY1/f797dGuyf+jXJL/nVGK/5hJhP+WRYH/lUOA/5RAf/+ydqP/7uHr//Lo8P/y6O//7uHq/7J2\n        o/+TQH7/lUOA/5ZEgf+YSIP/nE+I/6JYj//RrMj/9/j49q+zt1bh4uQo/f395vr2+f/y6PD/7N3o/+TP\n        3v/cwdX/1rbO/9Kvyf/v4uv/3cTX/6Rek/+kXpP/3cPX/+7h6//Rrcj/1LPM/9q+0//jzd3/6trm//Hm\n        7v/69vn/9vb38Kerr0Xa290e/P39297D1/+4gqv/xpq7/9GsyP/Zu9H/38bZ/+jW4//7+Pr/tX2o/5I+\n        ff+SPn3/tX2o//v4+v/o1uP/38fZ/9q+0//Tscv/yJ6+/7qFrf/fxtn/8vT06JyhpTnMz9AV+/38ztq+\n        0/+UQn//k0B+/5RCf/+WRIH/lkWB/6Nbkf/v4uz/yqHA/5ZEgf+WRIH/yqHA/+/i7P+iW5H/lkWB/5ZE\n        gf+UQn//k0B+/5RCf//bvtT/7/Hx35CUmS3BxMgL+/38v+LL3P+XR4P/lUOA/5VDgP+VQ4D/lUKA/5VD\n        gP/HnLz/9u/0/9q/0//av9P/9u/1/8edvf+VQ4D/lUKA/5VDgP+VQ4D/lUOA/5dHg//iy9z/7e/v1H6C\n        iCKipqkG+fv6sebS4f+aS4b/lUKA/5VDgP+VQoD/mUqG/5hJhP+ZSYT/voyy/9/G2f/fxtn/voyy/5lJ\n        hP+YSIT/mUqF/5VCgP+VQ4D/lUKA/5pLhv/m0uH/6OrqyG91fBhYW2AD9/j3oe3f6f+eU4v/lEJ//5VD\n        gP+WRYL/zabE/76Msv+TQH7/lEF//5dGgv+XRoL/lEF//5NAfv++jLH/zabD/5ZFgv+VQ4D/lEJ//55T\n        i//u3+r/3+LjvFdcZRL///8A9vj3jvPp8P+iWY//lEJ//5RBf/+zeKX/+vb5/9/H2f+YSIT/lUOA/5VD\n        gP+VQ4D/lUOA/5hIhP/fx9n/+vb5/7N4pf+UQX//lEJ//6JZj//z6fD/297frDY/SQz///8A9vf3ffXt\n        8/+mYJX/k0B+/55TjP/l0uH//////PXt8/+nY5b/lEF//5VDgP+VQ4D/lEF//6dilv/17fP//////eXS\n        4P+eU4z/k0B+/6Zfk//17fP/1tnbmwAHFQb///8A8fHxa/n1+P+tbp7/lEF//8qiwP/9/f308/T0pf79\n        /vLAkLT/k0B+/5VDgP+VQ4D/k0B+/8CQtP/8/Pz27Oztrf79/vHKocD/lEF//65unv/49Pf/zc/SiwAA\n        AAP///8A7/DwVPz7/PuzeaX/rW2d//Xu9P/19vao3N7fJf///9DbwNT/l0aC/5VDgP+VQ4D/l0aC/9zA\n        1f/3+fjcvsHDMP///5317vT/rW2d/7R6pv/6+fr+xMbJdQAAAAD///8A7+/wNP7+/urgyNr/6Nfk//z9\n        /N7f4uMz////AP3+/pnw5e7/olmQ/5RCf/+UQX//olmP//Hm7v/r7e2rOUFKCfv7+yv////Z6Nfk/+DI\n        2v/6+/vvxMfJSf///wD///8A2NrbBvz8/Hr////h/v7+1vHx81sAEBwB////APf4+Fr7+fv7tn6o/5NA\n        fv+TQH7/tn6p//v5+v3X2dtxAAAAAdDZ3AD6/v5U/v//1f///+L19fWBr7K2Cenq7AAAAAAA+Pn5APb2\n        9gX5+voh9/j4G9vb3gK9vb8A////AO7v8Sj////i0K3H/5RCgP+VQoD/0a3I//n7+uq/wsU5////AL/D\n        xgD09/cC+vv7Gvf4+CHf4OAG8fHxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6+vsAOTk\n        5Qj+//+x6trm/5xQif+cUIn/6trm//Hz87+Ok5gTqKquAISMlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjo+RAP///wD4+fpq+vf6/rJ2o/+ydqP/+vf5/9/h\n        4oAAAAACVFlhAIiPlwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAPn5+wD29vgi////2OfV4//n1eP/+vv73sjLzTD///8AWF5nAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnp6gAdHSUA/Pz8Xv//\n        /9v+/v7c8fLzZDZCTAL///8AYWlxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj5gAAAAAA9PT1A/v7+x/5+fkf0dLVBAAAAACvsbYAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAACAAAAAgAAAAIAAAACAAAEAgQABAIEAQQDDAMMA/wD/AP+A/wD/gf8A/8H/AP/D\n        /wA=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/TickModifier.Designer.cs",
    "content": "﻿namespace RaidCrawler.WinForms.SubForms\n{\n    partial class TickModifier\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            TB_Tick = new TextBox();\n            L_Tick = new Label();\n            B_Read = new Button();\n            B_Write = new Button();\n            B_NTP = new Button();\n            SuspendLayout();\n            // \n            // TB_Tick\n            // \n            TB_Tick.Font = new Font(\"Consolas\", 9F);\n            TB_Tick.Location = new Point(50, 7);\n            TB_Tick.Margin = new Padding(4, 3, 4, 3);\n            TB_Tick.Name = \"TB_Tick\";\n            TB_Tick.Size = new Size(162, 22);\n            TB_Tick.TabIndex = 45;\n            // \n            // L_Tick\n            // \n            L_Tick.AutoSize = true;\n            L_Tick.Location = new Point(12, 9);\n            L_Tick.Name = \"L_Tick\";\n            L_Tick.Size = new Size(31, 15);\n            L_Tick.TabIndex = 44;\n            L_Tick.Text = \"Tick:\";\n            L_Tick.TextAlign = ContentAlignment.MiddleRight;\n            // \n            // B_Read\n            // \n            B_Read.Location = new Point(12, 35);\n            B_Read.Name = \"B_Read\";\n            B_Read.Size = new Size(96, 27);\n            B_Read.TabIndex = 130;\n            B_Read.Text = \"Read\";\n            B_Read.UseVisualStyleBackColor = true;\n            B_Read.Click += B_Read_Click;\n            // \n            // B_Write\n            // \n            B_Write.Location = new Point(116, 35);\n            B_Write.Name = \"B_Write\";\n            B_Write.Size = new Size(96, 27);\n            B_Write.TabIndex = 131;\n            B_Write.Text = \"Write\";\n            B_Write.UseVisualStyleBackColor = true;\n            B_Write.Click += B_Write_Click;\n            // \n            // B_NTP\n            // \n            B_NTP.Location = new Point(12, 65);\n            B_NTP.Name = \"B_NTP\";\n            B_NTP.Size = new Size(200, 27);\n            B_NTP.TabIndex = 132;\n            B_NTP.Text = \"Reset Time (NTP)\";\n            B_NTP.UseVisualStyleBackColor = true;\n            B_NTP.Click += B_NTP_Click;\n            // \n            // TickModifier\n            // \n            AcceptButton = B_Write;\n            AutoScaleDimensions = new SizeF(7F, 15F);\n            AutoScaleMode = AutoScaleMode.Font;\n            ClientSize = new Size(224, 96);\n            Controls.Add(B_NTP);\n            Controls.Add(B_Write);\n            Controls.Add(B_Read);\n            Controls.Add(TB_Tick);\n            Controls.Add(L_Tick);\n            FormBorderStyle = FormBorderStyle.FixedDialog;\n            Name = \"TickModifier\";\n            ShowIcon = false;\n            SizeGripStyle = SizeGripStyle.Hide;\n            Text = \"TickModifier\";\n            ResumeLayout(false);\n            PerformLayout();\n        }\n\n        #endregion\n\n        private TextBox TB_Tick;\n        private Label L_Tick;\n        private Button B_Read;\n        private Button B_Write;\n        private Button B_NTP;\n    }\n}"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/TickModifier.cs",
    "content": "using RaidCrawler.Core.Connection;\nusing RaidCrawler.Core.Discord;\n\nnamespace RaidCrawler.WinForms.SubForms\n{\n    public partial class TickModifier : Form\n    {\n        readonly ConnectionWrapperAsync ConnectionWrapper;\n        readonly NotificationHandler Webhook;\n        readonly CancellationToken Token;\n        public TickModifier(ulong tick, ConnectionWrapperAsync connectionWrapper, NotificationHandler webhook, CancellationToken token)\n        {\n            InitializeComponent();\n            TB_Tick.Text = tick.ToString();\n            ConnectionWrapper = connectionWrapper;\n            Webhook = webhook;\n            Token = token;\n        }\n\n        private async void B_Read_Click(object sender, EventArgs e)\n        {\n            try\n            {\n                var tick = await ConnectionWrapper.GetCurrentTime(Token).ConfigureAwait(false);\n\n                if (InvokeRequired)\n                    Invoke(() => TB_Tick.Text = tick.ToString());\n                else\n                    TB_Tick.Text = tick.ToString();\n            }\n            catch (Exception ex)\n            {\n                await this.DisplayMessageBox(Webhook, $\"Could not read the date: {ex.Message}\", Token).ConfigureAwait(false);\n            }\n        }\n\n        private async void B_NTP_Click(object sender, EventArgs e)\n        {\n            try\n            {\n                await ConnectionWrapper.ResetTimeNTP(Token).ConfigureAwait(false);\n                B_Read_Click(sender, e);\n            }\n            catch (Exception ex)\n            {\n                await this.DisplayMessageBox(Webhook, $\"Could not reset the date: {ex.Message}\", Token).ConfigureAwait(false);\n            }\n        }\n\n        private async void B_Write_Click(object sender, EventArgs e)\n        {\n            try\n            {\n                var success = ulong.TryParse(TB_Tick.Text, out var time);\n                if (success)\n                {\n                    await ConnectionWrapper.SetCurrentTime(time, Token).ConfigureAwait(false);\n                }\n                else\n                {\n                    await this.DisplayMessageBox(Webhook, $\"Could not write the date: {TB_Tick.Text} could not be parsed as a ulong!\", Token).ConfigureAwait(false);\n                }\n            }\n            catch (Exception ex)\n            {\n                await this.DisplayMessageBox(Webhook, $\"Could not write the date: {ex.Message}\", Token).ConfigureAwait(false);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/TickModifier.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!--\n    Microsoft ResX Schema \n\n    Version 2.0\n\n    The primary goals of this format is to allow a simple XML format\n    that is mostly human readable. The generation and parsing of the\n    various data types are done through the TypeConverter classes\n    associated with the data types.\n\n    Example:\n\n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n\n    There are any number of \"resheader\" rows that contain simple\n    name/value pairs.\n\n    Each data row contains a name, and value. The row also contains a\n    type or mimetype. Type corresponds to a .NET class that support\n    text/value conversion through the TypeConverter architecture.\n    Classes that don't support this are serialized and stored with the\n    mimetype set.\n\n    The mimetype is used for serialized objects, and tells the\n    ResXResourceReader how to depersist the object. This is currently not\n    extensible. For a given mimetype the value must be set accordingly:\n\n    Note - application/x-microsoft.net.object.binary.base64 is the format\n    that the ResXResourceWriter will generate, however the reader can\n    read any of the formats listed below.\n\n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array\n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n</root>"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/UpdateNotifPopup.Designer.cs",
    "content": "namespace RaidCrawler.WinForms.SubForms\n{\n    partial class UpdateNotifPopup\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            B_Close = new Button();\n            B_Download = new Button();\n            label1 = new Label();\n            L_Version = new Label();\n            label3 = new Label();\n            SuspendLayout();\n            // \n            // B_Close\n            // \n            B_Close.DialogResult = DialogResult.Cancel;\n            B_Close.Location = new Point(12, 61);\n            B_Close.Name = \"B_Close\";\n            B_Close.Size = new Size(75, 25);\n            B_Close.TabIndex = 1;\n            B_Close.Text = \"Ignore\";\n            B_Close.UseVisualStyleBackColor = true;\n            // \n            // B_Download\n            // \n            B_Download.DialogResult = DialogResult.OK;\n            B_Download.Location = new Point(93, 61);\n            B_Download.Name = \"B_Download\";\n            B_Download.Size = new Size(150, 25);\n            B_Download.TabIndex = 0;\n            B_Download.Text = \"Open download page\";\n            B_Download.UseVisualStyleBackColor = true;\n            // \n            // label1\n            // \n            label1.AutoSize = true;\n            label1.Location = new Point(12, 9);\n            label1.Name = \"label1\";\n            label1.Size = new Size(123, 15);\n            label1.TabIndex = 2;\n            label1.Text = \"New update available!\";\n            // \n            // L_Version\n            // \n            L_Version.AutoSize = true;\n            L_Version.Location = new Point(12, 26);\n            L_Version.Name = \"L_Version\";\n            L_Version.Size = new Size(149, 15);\n            L_Version.TabIndex = 3;\n            L_Version.Text = \"Current: v1.1.1 | New v9.9.9\";\n            // \n            // label3\n            // \n            label3.AutoSize = true;\n            label3.Location = new Point(12, 43);\n            label3.Name = \"label3\";\n            label3.Size = new Size(228, 15);\n            label3.TabIndex = 4;\n            label3.Text = \"It is advised to update as soon as possible!\";\n            // \n            // UpdateNotifPopup\n            // \n            AutoScaleDimensions = new SizeF(7F, 15F);\n            AutoScaleMode = AutoScaleMode.Font;\n            ClientSize = new Size(255, 93);\n            Controls.Add(label3);\n            Controls.Add(L_Version);\n            Controls.Add(label1);\n            Controls.Add(B_Download);\n            Controls.Add(B_Close);\n            FormBorderStyle = FormBorderStyle.FixedDialog;\n            Name = \"UpdateNotifPopup\";\n            Text = \"Update available!\";\n            Load += UpdateNotifPopup_Load;\n            ResumeLayout(false);\n            PerformLayout();\n        }\n\n        #endregion\n\n        private Button B_Close;\n        private Button B_Download;\n        private Label label1;\n        private Label L_Version;\n        private Label label3;\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/UpdateNotifPopup.cs",
    "content": "namespace RaidCrawler.WinForms.SubForms;\n\npublic partial class UpdateNotifPopup : Form\n{\n    private Version cv;\n    private Version nv;\n    public UpdateNotifPopup(Version currentVersion, Version newVersion)\n    {\n        cv = currentVersion;\n        nv = newVersion;\n        InitializeComponent();\n    }\n\n    private void UpdateNotifPopup_Load(object sender, EventArgs e)\n    {\n        L_Version.Text = $\"Current: v{cv.Major}.{cv.Minor}.{cv.Build} | New: v{nv.Major}.{nv.Minor}.{nv.Build}\";\n        B_Download.Focus();\n        CenterToScreen();\n    }\n}\n"
  },
  {
    "path": "RaidCrawler.WinForms/SubForms/UpdateNotifPopup.resx",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!--\n    Microsoft ResX Schema\n\n    Version 2.0\n\n    The primary goals of this format is to allow a simple XML format\n    that is mostly human readable. The generation and parsing of the\n    various data types are done through the TypeConverter classes\n    associated with the data types.\n\n    Example:\n\n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n\n    There are any number of \"resheader\" rows that contain simple\n    name/value pairs.\n\n    Each data row contains a name, and value. The row also contains a\n    type or mimetype. Type corresponds to a .NET class that support\n    text/value conversion through the TypeConverter architecture.\n    Classes that don't support this are serialized and stored with the\n    mimetype set.\n\n    The mimetype is used for serialized objects, and tells the\n    ResXResourceReader how to depersist the object. This is currently not\n    extensible. For a given mimetype the value must be set accordingly:\n\n    Note - application/x-microsoft.net.object.binary.base64 is the format\n    that the ResXResourceWriter will generate, however the reader can\n    read any of the formats listed below.\n\n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with\n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with\n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array\n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n</root>"
  },
  {
    "path": "RaidCrawler.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 17\nVisualStudioVersion = 17.3.32819.101\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"RaidCrawler.WinForms\", \"RaidCrawler.WinForms\\RaidCrawler.WinForms.csproj\", \"{3137FDBF-AE30-4A9D-B334-C12524540401}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{EFA55E3C-6A2C-4529-A207-93B8EC5F08D0} = {EFA55E3C-6A2C-4529-A207-93B8EC5F08D0}\n\tEndProjectSection\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"RaidCrawler.Core\", \"RaidCrawler.Core\\RaidCrawler.Core.csproj\", \"{EFA55E3C-6A2C-4529-A207-93B8EC5F08D0}\"\nEndProject\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"RaidCrawler.Tests\", \"RaidCrawler.Tests\\RaidCrawler.Tests.csproj\", \"{41EC55F6-39BE-45E9-A39C-932108DDB4F9}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{EFA55E3C-6A2C-4529-A207-93B8EC5F08D0} = {EFA55E3C-6A2C-4529-A207-93B8EC5F08D0}\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Any CPU = Debug|Any CPU\n\t\tDebug|x64 = Debug|x64\n\t\tRelease|Any CPU = Release|Any CPU\n\t\tRelease|x64 = Release|x64\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{3137FDBF-AE30-4A9D-B334-C12524540401}.Debug|Any CPU.ActiveCfg = Debug|x64\n\t\t{3137FDBF-AE30-4A9D-B334-C12524540401}.Debug|Any CPU.Build.0 = Debug|x64\n\t\t{3137FDBF-AE30-4A9D-B334-C12524540401}.Debug|x64.ActiveCfg = Debug|x64\n\t\t{3137FDBF-AE30-4A9D-B334-C12524540401}.Debug|x64.Build.0 = Debug|x64\n\t\t{3137FDBF-AE30-4A9D-B334-C12524540401}.Release|Any CPU.ActiveCfg = Release|x64\n\t\t{3137FDBF-AE30-4A9D-B334-C12524540401}.Release|Any CPU.Build.0 = Release|x64\n\t\t{3137FDBF-AE30-4A9D-B334-C12524540401}.Release|x64.ActiveCfg = Release|x64\n\t\t{3137FDBF-AE30-4A9D-B334-C12524540401}.Release|x64.Build.0 = Release|x64\n\t\t{EFA55E3C-6A2C-4529-A207-93B8EC5F08D0}.Debug|Any CPU.ActiveCfg = Debug|x64\n\t\t{EFA55E3C-6A2C-4529-A207-93B8EC5F08D0}.Debug|Any CPU.Build.0 = Debug|x64\n\t\t{EFA55E3C-6A2C-4529-A207-93B8EC5F08D0}.Debug|x64.ActiveCfg = Debug|x64\n\t\t{EFA55E3C-6A2C-4529-A207-93B8EC5F08D0}.Debug|x64.Build.0 = Debug|x64\n\t\t{EFA55E3C-6A2C-4529-A207-93B8EC5F08D0}.Release|Any CPU.ActiveCfg = Release|x64\n\t\t{EFA55E3C-6A2C-4529-A207-93B8EC5F08D0}.Release|Any CPU.Build.0 = Release|x64\n\t\t{EFA55E3C-6A2C-4529-A207-93B8EC5F08D0}.Release|x64.ActiveCfg = Release|x64\n\t\t{EFA55E3C-6A2C-4529-A207-93B8EC5F08D0}.Release|x64.Build.0 = Release|x64\n\t\t{41EC55F6-39BE-45E9-A39C-932108DDB4F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{41EC55F6-39BE-45E9-A39C-932108DDB4F9}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{41EC55F6-39BE-45E9-A39C-932108DDB4F9}.Debug|x64.ActiveCfg = Debug|Any CPU\n\t\t{41EC55F6-39BE-45E9-A39C-932108DDB4F9}.Debug|x64.Build.0 = Debug|Any CPU\n\t\t{41EC55F6-39BE-45E9-A39C-932108DDB4F9}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{41EC55F6-39BE-45E9-A39C-932108DDB4F9}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{41EC55F6-39BE-45E9-A39C-932108DDB4F9}.Release|x64.ActiveCfg = Release|Any CPU\n\t\t{41EC55F6-39BE-45E9-A39C-932108DDB4F9}.Release|x64.Build.0 = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {8B52EA45-FFF0-41E2-86EB-E451868B9A5F}\n\tEndGlobalSection\nEndGlobal\n"
  }
]