================================================================
 PandaAuth SDK V5  —  PandaLib_PUSL (PUSL-V4 HTTP)
 Version 2.0.1  —  2026-07-16
================================================================

WHAT'S IN THIS ZIP
------------------
  PandaLib_PUSL.dll   The authentication library. Does all its own
                      networking (WinHTTP -> https://secure.pandauth.com/pv4/).
  libsodium.dll       Crypto dependency. Must sit next to the DLL.

Drop BOTH files next to your executable. x64 only — a 32-bit host
fails LoadLibrary with error 193. Error 126 means libsodium.dll is
missing from the folder.

No OpenSSL. No WebSocket libraries. TLS is handled by Windows
(SChannel) via WinHTTP.

EXPORTS (extern "C", __cdecl)
-----------------------------
  bool        Validate(const char* service, const char* key);
  const char* Get_Key(const char* service);
  bool        IsValid();
  void        Shutdown();
  const char* PandaGetLastError();

  Validate()  Connects, validates the key, starts the heartbeat.
              Blocks up to ~25s — call it off your UI thread.
  Get_Key()   Builds the GetKey URL with the auto-HWID appended.
              Does not connect.
  IsValid()   Is the session still alive? Poll on a ~5s timer,
              never per render frame.
  Shutdown()  Graceful disconnect, zeroes keys, joins threads.

QUICK START (C++)
-----------------
  HMODULE h = LoadLibraryW(L"PandaLib_PUSL.dll");
  auto Validate = (bool(__cdecl*)(const char*, const char*))
                    GetProcAddress(h, "Validate");
  if (!Validate("your_service", "USER-KEY")) { /* rejected */ }

C# users: P/Invoke the same undecorated names with
CallingConvention.Cdecl. See the docs for a full sample.

CHANGELOG — 2.0.1
-----------------
  Fixed "Hello request failed: HTTP 404" — v2.0.0 could not
  authenticate at all. The rotating URL slug and the /auth
  signature were HMAC'd with a hex-decoded key while the server
  keys both with a raw string, so no request ever matched.
  The /pv4 request path also carried an extra service-id segment.

  If you are on 2.0.0, you must update — it cannot work.

SUPPORT
-------
  Docs:    https://dash.pandauth.com/dashboard/documentation/for-developers/sdk-v5
  Verify:  SHA-256 of this zip is published on the docs page above.
================================================================
