SHOPV3 STABLE 500 FIX
=====================

Root cause found by comparing with SHOPV3_500_FIXED.zip:
- The original package contained storage/framework/views because compiled Blade files were present.
- The hardened package removed runtime Blade cache files but accidentally did not preserve the now-empty views directory in the ZIP.
- config/view.php used realpath(storage_path('framework/views')). When that directory was missing, realpath() returned false and Laravel threw:
  "Please provide a valid cache path."
- That exception rendered as the generic "Oops! 500 Internal Server Error" page in production.

This stable build:
- Preserves storage/framework/views, sessions, cache/data and logs with .gitignore files.
- Uses storage_path('framework/views') instead of realpath() for additional resilience.
- Restores original bootstrap/app.php, config/app.php, AppServiceProvider, TrustHosts behavior, public/index.php and original vendor package code.
- Removes only BlockIpMiddleware from the global web stack to avoid persistent IP false bans.
- Keeps the independent security/card/NapTaiKhoan patches.
- Keeps PUBLIC_STORAGE_URL=/storage so normal browser assets are domain-relative.

Runtime requirement:
- The ORIGINAL vendor/composer/platform_check.php requires PHP >= 8.2.0. Use PHP 8.2 or 8.3 unless dependencies are properly re-resolved for PHP 8.1.
