C#:
using HarmonyLib;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Oxide.Core;
using Oxide.Core.Plugins;
using Oxide.Game.Rust.Cui;
using UnityEngine;
using System.Collections;
using System.Text;
using Facepunch.Extend;
/*
* Has WearContainer Anti Stacking Duplication features/bug fixes
* Fixes Custom skin splitting issues + Custom Item Names.Making oranges skinsfix plugin not required/needed.* Has vending machine no ammo patch toggle (so it won't affect default map vending machine not giving out stock ammo.* Doesn't have ammo duplication with repair bench by skin manipulation issue.* Doesn't have condition reset issues when re-stacking used weapons.* Has not being able to stack a used gun onto a new gun, only.* Doesn't have the weapon attachments issues
* Doesn't have losing stack of candy cane lick issues
*
*
* Fixed Visual bug on item splits ( where the players inventory UI wasn't updating properly )
* Slight performance tweak
* Added Updater methods.*
* Fixed new NRE issues 6/8/2021
*
* Update 1.0.5 6/12/2021
* Changed check config value to >= because fuck it
*
* updated 1.0.6 7/15/2021
* Added feature to stop player abusing higher stack sizes when moving items from other storage containers to player inventory set from other plugins
* Fixed Clone stack issues
* Updated OnItemAddedToContainer code logic to fix StackItemStorage Bug Credits to Clearshot.*
* Update 1.0.8
* Fixed High hook time warnings significantly reduced
* Fixed Condition loss comparison between float values
* Added Ignore Admin check for F1 Spawns
* Adjusted/fixed item moving issues from other plugins
*
* Update 1.0.9
* Patched Skins auto merging into 1 stack bug
*
* Update 1.1.0
* Added Liquid stacking support
* Fixed On ItemAdded issue with stacks when using StackItemStorage
*
* Update 1.1.1
* Added support for stacking Miner Hats with fuel + Candle Hats
*
* Update 1.1.2
* Fixed Stacking issues with float values not matching due to unity float comparison bug
*
* Update 1.1.3
* Fixed Vendor bug..*
* Update 1.1.4
* Added OnCardSwipe to fix stack loss when it hits broken stage.*
* Update 1.1.5
* Fixed High hook time hangs sometimes resulted in server crashes..*
* Update 1.1.7
* Fixes all vendor problems when booting/rebooting servers
* Added Chat command to manually reset the vendors that you talk to only /resetvendors
*
* Update 1.1.8
* Pulled due to false reports.* Reverted back to original patch of 1.1.7
*
* Update 1.1.9
* Fixes custom items that have different custom names applied with the same skinids from stacking.* Fixes resetting stacks to default if ( true ) in config.*
* Update 1.2.0
* Added Global Category Group Stack Setting options
*
* Update 1.3.0
* Added Editor UI
* Swapped back to Rust Plugin
* Added Image Library Support
* Added New Config Options
* Added Search Bar + fade out.* Added additional checks/options made some performance improvements
*
* Update 1.3.2
* Blocks player movements while using editor
* Updated console output responses
* Updated UI Systems and fixed a bug relating to first time opening
* ( it was double opening )
*
* Update 1.3.21
* Updated Input checks
* Fixed spectating players while using the UI Editor..*
* Update 1.3.22
* Expanded the UI Editor Search parameters a bit
*
* Update 1.3.3
* Fixed Missing Defaults
* Fixed UI Not showing correctly between Multipliers and Modified items
* Added
* aiming.module.mlrs, MLRS Aiming Module
* mlrs, MLRS
* ammo.rocket.mlrs, MLRS Rocket
* lumberjack hoodie, Lumberjack Hoodie
* frankensteintable, Frankenstein Table
* carvable.pumpkin, Carvable Pumpkin
* frankensteins.monster.01.head, Light Frankenstein Head
* frankensteins.monster.01.legs, Light Frankenstein Legs
* frankensteins.monster.01.torso, Light Frankenstein Torso
* frankensteins.monster.02.head, Medium Frankenstein Head
* frankensteins.monster.02.legs, Medium Frankenstein Legs
* frankensteins.monster.02.torso, Medium Frankenstein Torso
* frankensteins.monster.03.head, Heavy Frankenstein Head
* frankensteins.monster.03.legs, Heavy Frankenstein Legs
* frankensteins.monster.03.torso, Heavy Frankenstein Torso
* sunglasses02black, Sunglasses
* sunglasses02camo, Sunglasses
* sunglasses02red, Sunglasses
* sunglasses03black, Sunglasses
* sunglasses03chrome, Sunglasses
* sunglasses03gold, Sunglasses
* captainslog, Captain's Log
* fishing.tackle, Fishing Tackle
* bottle.vodka, Vodka Bottle
* vehicle.2mod.camper, Camper Vehicle Module
* skull, Skull
* rifle.lr300, LR-300 Assault Rifle
*
* Update 1.3.4
* Added new reset Command for the search bar
* Added new set Command for the search bar
* Updated Category Descriptions
* ( Type reset in any category search bar and it will reset that whole category for you! )
* ( Type set 8 in any category search bar and it will set that whole category for you to 8! )
*
* Update 1.3.5
* Re-fixed vendor problem..*
* Notice
* I will not be providing any more updates for this, this month.*
* Update 1.3.7
* Fixes ( Stack problems with different stack sizes for different storages )
* WARNING!
* Potentially heavy update..idk if this will crash 1000000mil x Servers or not!
*
* Update 1.3.71
* Code Cleanup + improvements / back to permanent
* Fixed Reloading problems
* Added some missed checks for ImageLibrary to resolve
* Removed Admin Toggle Config Option.( it's hardcoded to ignore admins )
*
* Update 1.4.0
* Partial UI Re-write/Optimizations!
* More config options!
* New command sluts! /stackmodifiercolor
* Fixed Search bar commands! ( reset & set ) now work excellently!
* Search parameters work 200% better than before!
* Added Patch for Nivex's RaidableBases Plugins
* This update was brought to you in conjunction with baz!
*
* Update 1.4.1
* Fixed UI Constantly Re-Updating the Multiplier Descriptions ( when not needed ).* Another UI Performance update/Tweak
* Fixed Sunglasses Display Names
* Added Lang API Support from codefling https://codefling.com/plugins/lang-api?tab=details
*
* update 1.4.2
* Re-fixed ignore admin check
*
* update 1.4.4
* Optional Update
* Re-designed UI System
* Added All Category
*
* update 1.4.7
* Updated for rust update
* Added the following new items
* rhib
* rowboat
* snowmobile
* snowmobiletomaha
* hazmatsuit.arcticsuit
* hazmatsuit_scientist_arctic
* spraycan
* rifle.ak.ice
*
* update 1.4.8
* Updated for rust update
* Added the following new items
* bluedogtags
* dogtagneutral
* reddogtags
* attire.egg.suit
* sign.egg.suit
*
* update 1.4.9
* Added 1 new feature
* Disable Images toggle: Disables ImageLibrary Requirement / Images for UI Editor
*
* update 1.5.0
* Fixed loot panel UI not updating value counts on items when splitting a skinned item stack inside of a loot panel container into a players inventory
*
* update 1.5.1
* Removed All ImageLibrary support / code All plugins moving forward will strictly use built in FacePunch Native logic.* Re-designed CanStack Hook re-coded fixing all rock skinned stacking bugs etc
* Big performance gains
* Improved search functions by 10 fold.*
* update 1.5.2
* patched oncardswipe error
*
* update 1.5.3
* patched scientist suit having same name as peacekeeper scientist suit
* Fixed Stacking Problems with scientist suit & peacekeeper scientist suit
* Native FacePunch Bug / If you look in F1 menu for scientist suit you'll see what I mean.*
* update 1.5.4
* added 3 new items
*
* update 1.6.0
* WARNING!! OPTIONAL UPDATE! HAS MANY CHANGES THAT MAY CHANGE THE DEFAULT BEHAVIOR YOUR USED TO.* Replaced blocked list with a new bool toggle system
* Fixed a couple ui issues displaying the wrong value to you that it's actually using.* Fixed the stack multiplier fields so they actually multiple the default values now.* StackModifier will now check the item contents capacity & if it does not equal the same it will deny the stack.* Search Input Field has 5 command options now, disableon | disableoff | set 100 | multiply 5 | reset
* Thanks to Jakes commit I can now remove the vending machine repair code!
* https://commits.facepunch.com/412359
* Fixed the following item display names being messed up by facepunch.* skullspikes.candles
* skullspikes.pumpkin
* skull.trophy.jar
* skull.trophy.jar2
* skull.trophy.table
* innertube.horse
* innertube.unicorn
* sled.xmas
* discofloor.largetiles
*
* Update 1.6.1
* Added multiple safe guards to prevent setting item stack sizes to Zero..* Added locomotive
* Added trophy
* Added grenade.flashbang
* Added grenade.molotov
* Added Hook > OnIgnoreStackSize
*
* Update 1.6.2
* Adjusted OnItemAddedToContainer
*
* Update 1.6.3
* Added new game items & updated chocolate to the new name
*
* Update 1.6.4
* Added another 3 new game items
*
* Update 1.6.5
* Moved config correction code to beginning of logic.* Delayed server update by 3 & 5 on load.*
* Update 1.6.6
* Fixes new config generation bug caused by old debug code.* Created Correction logic for owners attempting to set negative values in the config.* Created Corrections log file for owners to see what all got corrected.* TODO: Re-write the check config script into a coroutine and clean that shit up..*
* Update 1.6.7
* added 2 new rust game items from today's update.*
* Update 1.6.8
* Added 4 new game items, Removed Car Key since FacePunch removed the item from the game..* Fixed Server Setting Stack Size bugs
*
* Update 1.6.9
* Added hat.rabbitmask 1
*
* Update 1.7.0
* Added New Game Items
"electric.furnace" 1
"storageadaptor" 5
"industrial.combiner" 5
"industrial.conveyor" 5
"industrial.crafter" 5
"industrial.splitter" 5
"pipetool" 1
*
* Update 1.7.1
* Fixed
* multiply & set search commands in the UI
*
* Update 1.7.2
* Added new cam
*
* Update 2.0.0
* UI Tweak + is now paid
*
* Update 2.0.1
* Added 3 new game items
* Single & Double Horse saddle
* New easter Egg
*
*
* Update 2.0.2
Patched for latest "pending" rust-update.Added The following new items.hazmatsuit_scientist_nvgm, 1
blueidtag, 5000
grayidtag, 5000
greenidtag, 5000
orangeidtag, 5000
pinkidtag, 5000
purpleidtag, 5000
redidtag, 5000
whiteidtag, 5000
yellowidtag, 5000
supertea, 1
* Update 2.0.3
* Optional Weapon Attachment stack fix.( defaults on )
*
* Update 2.0.4
* Removed left over test code from previous patch work in OnItemAddedToContainer
*
* Update 2.0.5
* Now prevents inputs of -1 as a stack value..or any negative digit, ever..*
* Update 2.0.6
* Added toggle option for disabling weapon attachment fix.* ( Added in 2.0.3 )
*
* Update 2.0.7
* FacePunch removed sign.egg.suit
* Fixed unload error.* Fixed server shutdown error ( if reset toggle is true & server is shutting down it will now do nothing.)
* Fixed a bug if you set all multipliers to 1..( 10 x 1 is still 10 people.) that would cause a handful of specific items to reset to default..* Now prevents setting multipliers of 1.*
* Update 2.0.8
* Added 5 new game items
* Fixed UI Bug.*
* Update 2.0.9
* Added new item clantable.* Added item.text support for 3rd party plugin checks.* Added harmony patch to over-ride ItemModWearable.CanExistWith ( removed in current release )
* ( This fixes custom clothing items being bugged specifically )
* Officially compatible with imthenewguy's work.*
* Update 2.1.0
* Code-Cleanup
*
* Update 2.1.1
* Updated for rust update.*
* Update 2.2.0
* Fixed stacking Candy Cane Club without losing the stack while lick.( includes config toggle option to disable fix )
* Fixed the All Category UI Bugs when using the search setter command functions.* Added 10 missing game items to defaults.* Updated OnCardSwipe code to correctly handle stack sizes for the cards instead of just spreading them all by 1..* Added 2 new config toggle to enable / disable other fixes.*
* Update 2.2.1
* Removed reset toggle on unload option.* Added Reset Console cmd & chat command + config setter.* Fixed UI Bug where the page number was not resetting when switching between categories
* ( making it appear theirs nothing but if you click the page back button it would have showed you everything still as normal..)
*
* Update 2.2.4
* Added 3 new halloween items.*
* Update 2.3.0
* Added new game content / defaults
* Performance update switched from string comparison to int
* Added support for modified presents for unwrapping
* Added Missing instance data checks
*
* Update 2.3.1
* Added 11 new game items
*
* Update 2.3.2 / 2.3.3
* Added OnStackSizeUpdated API Hook ( useful for plugins that cache max stackable sizes )
* This api addition will allow plugins to update their max stack caches by being notified after the UI Editor is closed.* I noticed this problem when I was coding out a new plugin that I made where I cached max stacks for faster lookups..* Added new game items ( hazmatyoutooz & heavyscientistyoutooz )
*
* Update 2.3.4
* Added 2 new game items.( that or their id's changed for some reason )
* Missing chicken.costume, -152332823, 1
* Missing walkietalkie, -1416322465, 1
*
* Update 2.3.5
* Fixed Duplication bug for those using category multipliers & reloading the plugin after server is already booted.* Updated code checks to improve debug checks for rare catch-cases.*
* Update 2.3.6
* API hook Interface.CallHook("OnStackSizeUpdated"); is now also called on plugin loaded right after the plugin updates the stack sizes on server reboots & when reloading the plugin.* It's also still called whenever an update is done from the UI editor.* Performance tweaks & null check adjustments.* Adjusted CanCombineDroppedItem code.*
* update 2.3.7
* prepared for today's coming update.*
* Update 2.3.8
* Fixed F1 spawns ( example fuel missing from lantern crafts )
* Fixed crafted items ( example fuel missing from lantern crafts )
* Credits to whitethunder for pointing out a flaw in the logic.*
* Update 2.3.9
* fix for console error.*
* Update 2.4.0
* Rewrote Discrepancies Checks ( Its a whole region now..shesh what a nightmare )
* Rewrote how i generate default config files to better ensure valid default settings.* Fixed missing null check in code edit.*
* 2.4.2
* Updated config checks for missing items / invalid values
*
* 2.4.3
* added new game item SKS_-348232115_rifle.sks_1
*
* 2.5.0
* Patches Industrial Conveyor stack issues.( fixes plant genetics, bag of holding capacities, items with loot like candle hats with fuel, custom items, skill tree items & cooking items, etc )
* New Not supported plugins.* ItemPerks by imthenewguy is not supported & will cause stack bugs / problems just by having this plugin on your server alone due to harmony patching done inside it, also the repair logic is bugged.* IQAlcoholFarm by BadMandarin/Mercury is not supported & will cause stack bugs / problems ( could be supported with an author update, but current version is not supported )
* Custom Skins Stacks Fix ( not needed )
* IndustrialCustomSkinsFix ( not needed + doesn't check everything right so its broken by its self..)
*
* 2.5.1
* Greatly Improved & reduced CanStack Hook logic & performance
* Fixed on-item split for salt water stacking
* Fixed F1 spawn issues with liquid contents ( like water guns losing spawned contents when stacked )
* Forgot about the condition value checks for industrial conveyor ( is now patched ) & paintings..* More items can now stack in general with this update.* Improved performance for Industrial Conveyor
*
* 2.5.2
* Completely rewrote OnItemSplit logic drastically improving performance and reduced logic checking.* Fixed presents in Conveyors..* Fixed bota / liquid containers in Conveyors..* Fixed liquid containers not retaining some specific data when split ( like custom item based bota bags )
* Fixed an extremely specific stack bug where container was null to eject items to.* Added config toggle to turn off Industrial patch for those that don't want it.( until its 100% sorted )
* Further reduced performance overhead for item creation of stacked items.*
* 2.5.3
* Fixed bugged vanilla item creation on specific rust items like metal ore, etc.* ( Condition values are being set on items that have condition disabled & not have the condition.max setting > 0 ) thus prevents ( metal ore from stacking with old ore ) & other bugged items.* Updated Condition Handling to deal with this nonsense from facepunch.*
* 2.5.5
* Corrected condition split miss-hap after allowing conditions based items to stack with same condition variables from previous update.*
* 2.5.6
* Patched paintings stacking when content was painted on them.* Should still allow empty paintings to stack.*
* Finally patched Head Bags from various animals/players from stacking
* Should now deny the stack to prevent loss of data.*
* 2.5.7
* Added missing default.Seismic Sensor
* The following vanilla stack sizes have changed.1296788329_ammo.rocket.seeker_4_2
-1507239837_electric.hbhfsensor_5_1
443432036_fluid.switch_5_1
-365097295_powered.water.purifier_3_1
-1284169891_waterpump_3_1
140006625_ptz.cctv.camera_5_64
-143132326_sign.wooden.huge_1_5
1153652756_sign.wooden.large_1_5
-1819233322_sign.wooden.medium_1_5
-1138208076_sign.wooden.small_1_5
42535890_sign.neon.125x215.animated_5_1
866332017_sign.neon.xl_5_1
-1982036270_hq.metal.ore_100_1000
2.5.8
Added new game items.* Update 2.5.91
* Fixed OnItemAddedToContainer Memory leak, resulting in increased memory usage over time.* Added new game item Tin Can Alarm to defaults.* Added new game item 1174957864
* Update 2.6.0
* More performance improvements.* Added 2 new game items.* Fixed OnCardSwipe so it will only touch the stack if the card reader access level matches the swipe.* Updated for pooling changes.*
* Update 2.6.2
* Added config checks to fix item category changes..( like what happened with the weapon.mod.gascompressionovedrive )
* ( From component to weapon category )
*
* 2.6.4
* New game items.* Added server console multiply cmd, will set the servers multiplier for item stacks.* Bug Fixes
*/
namespace Oxide.Plugins {
[Info("Stack Modifier", "Khan", "2.6.6")]
[Description("Modify item stack sizes, includes UI Editor")]
public class StackModifier : RustPlugin {
#region License Agreement (EULA) of Stack Modifier
/*
End-User License Agreement (EULA) of Stack Modifier
This End-User License Agreement ("EULA") is a legal agreement between you and Kyle.This EULA agreement
governs your acquisition and use of our Stack Modifier plugin ("Software") directly from Kyle.Please read this EULA agreement carefully before downloading and using the Stack Modifier plugin.It provides a license to use the Stack Modifier and contains warranty information and liability disclaimers.If you are entering into this EULA agreement on behalf of a company or other legal entity, you represent that you have the authority
to bind such entity and its affiliates to these terms and conditions.If you do not have such authority or if you do not agree with the
terms and conditions of this EULA agreement, DO NOT purchase or download the Software.This EULA agreement shall apply only to the Software supplied by Kyle Farris regardless of whether other software is referred
to or described herein.The terms also apply to any Kyle updates, supplements, Internet-based services, and support services for the Software,
unless other terms accompany those items on delivery.If so, those terms apply.License Grant
Kyle hereby grants you a personal, non-transferable, non-exclusive license to use the Stack Modifier software on your devices in
accordance with the terms of this EULA agreement.You are permitted to load the Stack Modifier on your personal server owned by you.You are not permitted to:
Edit, alter, modify, adapt, translate or otherwise change the whole or any part of the Software nor permit the whole or any part
of the Software to be combined with or become incorporated in any other software, nor decompile, disassemble or reverse
engineer the Software or attempt to do any such things.Reproduce, copy, distribute, resell or otherwise use the Software for any commercial purpose
Allow any third party to use the Software on behalf of or for the benefit of any third party
Use the Software in any way which breaches any applicable local, national or international law
use the Software for any purpose that Kyle considers is a breach of this EULA agreement
Intellectual Property and Ownership
Kyle shall at all times retain ownership of the Software as originally downloaded by you and all subsequent downloads of the Software by you.The Software (and the copyright, and other intellectual property rights of whatever nature in the Software, including any modifications made thereto) are and shall remain the property of Kyle.Termination
This EULA agreement is effective from the date you first use the Software and shall continue until terminated.You may terminate it at any time upon written notice to Kyle.It will also terminate immediately if you fail to comply with any term of this EULA agreement.Upon such termination, the licenses granted by this EULA agreement will immediately terminate and you agree to stop all access and use of the Software.The provisions that by their nature continue and survive will survive any termination of this EULA agreement.*/
#endregion
#region Fields
[PluginReference]
Plugin LangAPI;
private Harmony _harmony;
private Hash<ulong, int> _editorPageSM = new Hash<ulong, int>();
//TODO: Code in feature request for stack overrides
private const string Admin = "stackmodifier.admin";
private const string AllC = "All";
private const int Candy = 1789825282;
private static Dictionary<int, int> _defaults = null;
private static Dictionary<int, int> _FP = new Dictionary<int, int> {
{
-92315244, 1
}
, {
-1647389398, 1
}
, {
809689733, 1
}
, {
-105415879, 1
}
, {
-874908751, 1
}
, {
-880412831, 1
}
, {
1937380239, 1
}
, {
-1056824343, 1
}
, {
-1767794021, 1
}
, {
1174957864, 1
}
, {
962186730, 1
}
, {
-348232115, 1
}
, {
-1315992997, 1
}
, {
-1536855921, 1
}
, {
695450239, 1
}
, {
-907422733, 1
}
, {
2068884361, 1
}
, {
1168856825, 1
}
, {
-1478212975, 1
}
, {
-1973785141, 1
}
, {
2104517339, 1
}
, {
1113514903, 1
}
, {
190184021, 1
}
, {
1394042569, 1
}
, {
1878053256, 1
}
, {
-561148628, 1
}
, {
1426574435, 1
}
, {
343045591, 1
}
, {
-1449152644, 1
}
, {
-1843426638, 6
}
, {
-1884328185, 1
}
, {
-1364246987, 1
}
, {
1768112091, 1
}
, {
1015352446, 1
}
, {
-187031121, 1
}
, {
-2027988285, 1
}
, {
996757362, 1
}
, {
-810326667, 1
}
, {
1055319033, 24
}
, {
349762871, 12
}
, {
915408809, 12
}
, {
-1023065463, 64
}
, {
-1234735557, 64
}
, {
215754713, 64
}
, {
14241751, 64
}
, {
588596902, 64
}
, {
-2097376851, 64
}
, {
785728077, 128
}
, {
51984655, 128
}
, {
-1691396643, 128
}
, {
-1211166256, 128
}
, {
-1321651331, 128
}
, {
605467368, 128
}
, {
1712070256, 128
}
, {
-742865266, 3
}
, {
1638322904, 3
}
, {
-1841918730, 3
}
, {
1296788329, 4
}
, {
-17123659, 3
}
, {
-1685290200, 64
}
, {
-1036635990, 64
}
, {
-727717969, 32
}
, {
-1800345240, 64
}
, {
-1671551935, 100
}
, {
1390353317, 1
}
, {
1221063409, 1
}
, {
-1336109173, 1
}
, {
-2067472972, 1
}
, {
1353298668, 1
}
, {
1729120840, 1
}
, {
936496778, 10
}
, {
1948067030, 1
}
, {
1983621560, 10
}
, {
2041899972, 1
}
, {
-691113464, 1
}
, {
-335089230, 1
}
, {
-316250604, 5
}
, {
-967648160, 10
}
, {
99588025, 10
}
, {
-956706906, 1
}
, {
-1429456799, 10
}
, {
1451568081, 1
}
, {
-1117626326, 10
}
, {
-148794216, 1
}
, {
1516985844, 5
}
, {
-796583652, 1
}
, {
-148229307, 1
}
, {
-819720157, 10
}
, {
671706427, 10
}
, {
-1183726687, 10
}
, {
-1199897169, 20
}
, {
-1199897172, 20
}
, {
-1614955425, 10
}
, {
-1023374709, 20
}
, {
-463122489, 5
}
, {
296519935, 1
}
, {
-113413047, 1
}
, {
-2022172587, 1
}
, {
-1101924344, 1
}
, {
-1000573653, 1
}
, {
-1215166612, 1
}
, {
1189981699, 1
}
, {
1659114910, 1
}
, {
21402876, 1
}
, {
1366282552, 1
}
, {
-699558439, 1
}
, {
-1108136649, 1
}
, {
-258574361, 1
}
, {
1865253052, 1
}
, {
-1043618880, 1
}
, {
277730763, 1
}
, {
273951840, 1
}
, {
809942731, 1
}
, {
-1334569149, 1
}
, {
3222790, 1
}
, {
1675639563, 1
}
, {
-23994173, 1
}
, {
850280505, 1
}
, {
1877339384, 1
}
, {
1714496074, 1
}
, {
-1022661119, 1
}
, {
968019378, 1
}
, {
-803263829, 1
}
, {
-1903165497, 1
}
, {
1181207482, 1
}
, {
-1539025626, 1
}
, {
-575744869, 1
}
, {
671063303, 1
}
, {
-2094954543, 1
}
, {
1751045826, 1
}
, {
1746956556, 1
}
, {
-1102429027, 1
}
, {
-48090175, 1
}
, {
-1163532624, 1
}
, {
418081930, 1
}
, {
-763071910, 1
}
, {
-2012470695, 1
}
, {
-702051347, 1
}
, {
-194953424, 1
}
, {
110116923, 1
}
, {
-1518883088, 1
}
, {
-1506417026, 1
}
, {
1992974553, 1
}
, {
-1778159885, 1
}
, {
1722154847, 1
}
, {
1850456855, 1
}
, {
-1695367501, 1
}
, {
832133926, 1
}
, {
237239288, 1
}
, {
980333378, 1
}
, {
602741290, 1
}
, {
-2025184684, 1
}
, {
196700171, 1
}
, {
1608640313, 1
}
, {
-1549739227, 1
}
, {
-761829530, 1
}
, {
794356786, 1
}
, {
-1773144852, 1
}
, {
-1622110948, 1
}
, {
-470439097, 1
}
, {
-797592358, 1
}
, {
1266491000, 1
}
, {
861513346, 1
}
, {
491263800, 1
}
, {
-253079493, 1
}
, {
1107575710, 1
}
, {
86840834, 1
}
, {
-1958316066, 1
}
, {
-560304835, 1
}
, {
-1772746857, 1
}
, {
1601468620, 1
}
, {
-97459906, 1
}
, {
935692442, 1
}
, {
223891266, 1
}
, {
1110385766, 1
}
, {
-1478855279, 1
}
, {
-2002277461, 1
}
, {
1553078977, 20
}
, {
1401987718, 20
}
, {
656371028, 5
}
, {
656371027, 5
}
, {
656371026, 5
}
, {
1158340334, 5
}
, {
1158340331, 5
}
, {
1158340332, 5
}
, {
1883981798, 10
}
, {
1883981801, 10
}
, {
1883981800, 10
}
, {
-89874794, 20
}
, {
-493159321, 20
}
, {
1072924620, 20
}
, {
1330084809, 15
}
, {
926800282, 15
}
, {
-1802083073, 15
}
, {
-629028935, 10
}
, {
479143914, 20
}
, {
-1899491405, 10
}
, {
1882709339, 20
}
, {
95950017, 20
}
, {
-1673693549, 5
}
, {
1199391518, 20
}
, {
1414245522, 50
}
, {
1234880403, 20
}
, {
-1994909036, 20
}
, {
-1021495308, 20
}
, {
642482233, 100
}
, {
2019042823, 20
}
, {
73681876, 50
}
, {
176787552, 10
}
, {
573926264, 10
}
, {
1230323789, 10
}
, {
-1950721390, 10
}
, {
1373240771, 10
}
, {
1655650836, 10
}
, {
-559599960, 10
}
, {
15388698, 10
}
, {
866889860, 10
}
, {
1382263453, 10
}
, {
1099314009, 1
}
, {
-582782051, 3
}
, {
-1273339005, 1
}
, {
1946219319, 1
}
, {
1142993169, 10
}
, {
1534542921, 5
}
, {
-1944704288, 5
}
, {
486661382, 1
}
, {
-1488398114, 1
}
, {
-1588628467, 1
}
, {
1588492232, 1
}
, {
-1519126340, 5
}
, {
1177596584, 5
}
, {
-1535621066, 1
}
, {
1744298439, 20
}
, {
1324203999, 20
}
, {
-656349006, 20
}
, {
-7270019, 20
}
, {
-379734527, 20
}
, {
-1553999294, 20
}
, {
-280223496, 20
}
, {
-515830359, 20
}
, {
-1306288356, 20
}
, {
-1486461488, 20
}
, {
-99886070, 20
}
, {
261913429, 20
}
, {
-454370658, 20
}
, {
-1538109120, 20
}
, {
-92759291, 10
}
, {
1575635062, 1
}
, {
1413014235, 1
}
, {
-1992717673, 1
}
, {
-1999722522, 1
}
, {
-1163943815, 1
}
, {
1277159544, 1
}
, {
1160881421, 1
}
, {
-1989600732, 1
}
, {
-1759188988, 1
}
, {
1242482355, 1
}
, {
-1824943010, 1
}
, {
-1663759755, 5
}
, {
1658229558, 1
}
, {
833533164, 1
}
, {
-1863559151, 1
}
, {
-110921842, 1
}
, {
-586784898, 1
}
, {
1259919256, 1
}
, {
1696050067, 1
}
, {
-1130709577, 1
}
, {
-1293296287, 1
}
, {
1581210395, 10
}
, {
1903654061, 10
}
, {
2100007442, 5
}
, {
-695978112, 5
}
, {
988652725, 5
}
, {
1149964039, 1
}
, {
553270375, 1
}
, {
2023888403, 1
}
, {
-692338819, 1
}
, {
-1778897469, 5
}
, {
-216999575, 5
}
, {
-1507239837, 5
}
, {
-798293154, 5
}
, {
-2049214035, 1
}
, {
-502177121, 5
}
, {
-1196547867, 1
}
, {
-784870360, 5
}
, {
-265292885, 5
}
, {
-1166712463, 5
}
, {
443432036, 5
}
, {
1171735914, 5
}
, {
-690968985, 5
}
, {
-1448252298, 5
}
, {
-458565393, 5
}
, {
-746647361, 5
}
, {
-1286302544, 5
}
, {
492357192, 5
}
, {
-1044468317, 1
}
, {
888415708, 1
}
, {
1293102274, 5
}
, {
1849887541, 1
}
, {
-295829489, 1
}
, {
2090395347, 3
}
, {
-44876289, 3
}
, {
-1049172752, 5
}
, {
1538126328, 5
}
, {
610102428, 5
}
, {
1430085198, 5
}
, {
742745918, 5
}
, {
-939424778, 5
}
, {
-282113991, 1
}
, {
762289806, 5
}
, {
-365097295, 3
}
, {
1951603367, 5
}
, {
-563624462, 5
}
, {
-781014061, 10
}
, {
1371909803, 3
}
, {
665332906, 5
}
, {
1835946060, 1
}
, {
-1284169891, 3
}
, {
140006625, 5
}
, {
1052926200, 1
}
, {
-1736356576, 1
}
, {
803222026, 1
}
, {
-1861522751, 1
}
, {
-1104881824, 1
}
, {
-1985799200, 1
}
, {
2087678962, 1
}
, {
567871954, 5
}
, {
1950721418, 10
}
, {
23352662, 5
}
, {
1205607945, 5
}
, {
-1647846966, 5
}
, {
-845557339, 5
}
, {
-1370759135, 5
}
, {
121049755, 5
}
, {
-996185386, 5
}
, {
98508942, 5
}
, {
2070189026, 5
}
, {
1521286012, 5
}
, {
1542290441, 5
}
, {
-1832422579, 5
}
, {
826309791, 5
}
, {
-143132326, 1
}
, {
1153652756, 1
}
, {
-1819233322, 1
}
, {
-1138208076, 1
}
, {
352499047, 1
}
, {
-1754948969, 1
}
, {
-369760990, 5
}
, {
-555122905, 2
}
, {
782422285, 2
}
, {
-1100422738, 1
}
, {
559147458, 5
}
, {
593465182, 1
}
, {
1524187186, 1
}
, {
-41896755, 1
}
, {
-1607980696, 1
}
, {
-97956382, 1
}
, {
-1478445584, 1
}
, {
198438816, 1
}
, {
-1100168350, 1
}
, {
-132247350, 1
}
, {
2114754781, 1
}
, {
-246672609, 10
}
, {
1973949960, 10
}
, {
-849373693, 10
}
, {
-52398594, 10
}
, {
1132603396, 10
}
, {
240752557, 10
}
, {
-96256997, 10
}
, {
-1819763926, 1
}
, {
-180129657, 1
}
, {
1548091822, 10
}
, {
352130972, 1
}
, {
1931713481, 1
}
, {
-586342290, 20
}
, {
613961768, 1
}
, {
-568419968, 20
}
, {
1770475779, 20
}
, {
1783512007, 10
}
, {
-700591459, 10
}
, {
-1941646328, 10
}
, {
-965336208, 10
}
, {
342438846, 10
}
, {
-587989372, 5
}
, {
1668129151, 20
}
, {
989925924, 20
}
, {
-1698937385, 10
}
, {
-542577259, 10
}
, {
-1904821376, 5
}
, {
-851988960, 10
}
, {
-1654233406, 10
}
, {
-1768880890, 5
}
, {
-1878764039, 10
}
, {
680234026, 10
}
, {
-746030907, 10
}
, {
1973684065, 20
}
, {
-1848736516, 20
}
, {
-1440987069, 20
}
, {
-751151717, 20
}
// ... [Code preview truncated due to length. Full source in attached file] ...