Compatibility list for Ps2 Fake PKG

Well it says that Jak 2 and Jak 3 are fully compatible. Never found a working one tho
 
I'm not able to read people mind yet

Well then maybe you should read the text that's in front of you instead of being sarcastic? ;)

Untitled.png

It clearly states "PS2 Classics" which means the games have been released officially on PSN. There's no mindreading needed or involved, just some basic logic; the PS2 Classics versions are playable. Once somebody uploads Jak II/3/Combat X and shares the included files, we'll be able to use the config/LUA fixes to make homebrew versions too.

All four Jak titles require *substantial* fixes in order to work, fixes beyond most people who aren't intimately familiar with the code of PS2emu, as well as the code of the games in question. We have Jak 1 now because some kind soul uploaded it as an fPKG for people to look into.

~edit~

Just for giggles, here you go.. the fixes that get Jak working. Feel free to go through this and then figure out how you're going to fix Jak 2/3/Combat X too. You'll be doing everybody a solid :)

--ee-jit-pagefault-threshold=20
--gs-frontend-opt-mode=1
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--vif-ignore-invalid-cmd=1
--vu1-mpg-cycles=144
--cop2-no-clamping=1
--host-audio-latency=0.040

-- Jak EU
apiRequest(2.2)

local gpr = require("ee-gpr-alias")
local emuObj = getEmuObject()
local eeObj = getEEObject()
local gsObj = getGsObject()
local eeOverlay = eeObj.getOverlayObject()

-- Disable internal field shift compensation, part of post-process removal feature.
gsObj.SetDeinterlaceShift(0)

-- Fix shadow
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )

-- Reduce flush count
emuObj.SetGsTitleFix( "SetSelfRender", "reserved", { fbmask= 0x00FFFFFF , renderSelf=1 , zmsk=1 , alpha=0 , texMode=1 } )

-- Disable post-processing
-- update: removed due to occasional regression (bug#10608). post-processing is now skipped in the EE via 'depth-cue'
-- emuObj.SetGsTitleFix( "ignoreSprite", "reserved", { texType=1 , tw=5 , th=8, zmsk=1 , alpha=0x80000044 } )

-- ------------------------- OVERLAY MANAGER --------------------------
g_OnOverlayRegistered = function(filename, start, size)
-- global function provided for adding per-overlay callback handlers.
end

local DH8 = function()
local s0 = eeObj.GetGpr(gpr.s0)
local linkblock = eeObj.ReadMem32(s0+0x5c)

--print( string.format("--> PRELOAD %08x %08x",s0, linkblock) )

local linkblock_allocate_length = eeObj.ReadMem32 (linkblock + 0x00)
local linkblock_allocate_version = eeObj.ReadMem32 (linkblock + 0x04)
local linkblock_allocate_segment_count = eeObj.ReadMem32 (linkblock + 0x08)
local linkblock_allocate_name = eeObj.ReadMemStr(linkblock + 0x0c)

local linkblock_allocate_seg1_linkptr = eeObj.ReadMem32 (linkblock + 0x4C)
local linkblock_allocate_seg1_dataptr = eeObj.ReadMem32 (linkblock + 0x50)
local linkblock_allocate_seg1_size = eeObj.ReadMem32 (linkblock + 0x54)
local linkblock_allocate_seg1_flags = eeObj.ReadMem32 (linkblock + 0x58)

local linkblock_allocate_seg2_linkptr = eeObj.ReadMem32 (linkblock + 0x5C)
local linkblock_allocate_seg2_dataptr = eeObj.ReadMem32 (linkblock + 0x60)
local linkblock_allocate_seg2_size = eeObj.ReadMem32 (linkblock + 0x64)
local linkblock_allocate_seg2_flags = eeObj.ReadMem32 (linkblock + 0x68)

local linkblock_allocate_seg3_linkptr = eeObj.ReadMem32 (linkblock + 0x6C)
local linkblock_allocate_seg3_dataptr = eeObj.ReadMem32 (linkblock + 0x70)
local linkblock_allocate_seg3_size = eeObj.ReadMem32 (linkblock + 0x74)
local linkblock_allocate_seg3_flags = eeObj.ReadMem32 (linkblock + 0x78)

-- seg1 is equiv to main in Jak3
-- seg3 is equiv to top in Jak3
-- seg2 appears to be unused ... ? --jstine

if emuObj.IsToolingVerbose() then
print( string.format("--> LOADED SEGMENT alloc_len %08x ver %08x segcount %08x name:\"%s\"", linkblock_allocate_length, linkblock_allocate_version, linkblock_allocate_segment_count, linkblock_allocate_name) )
print( string.format(" seg1linkptr %08x seg1dataptr %08x seg1size %08x seg1flags %08x", linkblock_allocate_seg1_linkptr, linkblock_allocate_seg1_dataptr, linkblock_allocate_seg1_size, linkblock_allocate_seg1_flags) )
print( string.format(" seg2linkptr %08x seg2dataptr %08x seg2size %08x seg2flags %08x", linkblock_allocate_seg2_linkptr, linkblock_allocate_seg2_dataptr, linkblock_allocate_seg2_size, linkblock_allocate_seg2_flags) )
print( string.format(" seg3linkptr %08x seg3dataptr %08x seg3size %08x seg3flags %08x", linkblock_allocate_seg3_linkptr, linkblock_allocate_seg3_dataptr, linkblock_allocate_seg3_size, linkblock_allocate_seg3_flags) )
end

if linkblock_allocate_seg1_size ~= 0 then eeOverlay.Register(linkblock_allocate_name .. ".seg1", linkblock_allocate_seg1_dataptr, linkblock_allocate_seg1_size, false) end
if linkblock_allocate_seg3_size ~= 0 then eeOverlay.Register(linkblock_allocate_name .. ".seg3", linkblock_allocate_seg3_dataptr, linkblock_allocate_seg3_size, true) end

if (g_OnOverlayRegistered ~= nil) then
-- Make sure to execute any previously registered OnOverlay handler
if linkblock_allocate_seg1_size ~= 0 then g_OnOverlayRegistered(linkblock_allocate_name .. ".seg1", linkblock_allocate_seg1_dataptr, linkblock_allocate_seg1_size) end
if linkblock_allocate_seg1_size ~= 0 then g_OnOverlayRegistered(linkblock_allocate_name .. ".seg3", linkblock_allocate_seg3_dataptr, linkblock_allocate_seg3_size) end
end
end

assert(g_OnOverlayRegistered ~= nil)
local prev_OnOverlayRegistered = g_OnOverlayRegistered

g_OnOverlayRegistered = function(filename, start, size)

if filename == "depth-cue.seg1" then
-- Disable full-screen post process via depth-cue.
-- This also removes half-pixel shift during interlacing.
-- <depth-cue.seg1+00039c>
-- 00701DFC:67BDFFF0 daddiu $sp,$sp,-0x10 (0xfffffff0) -> 03E00008 jr $ra
-- 00701E00:FFBE0008 sd $fp,8($sp) -> 00000000 nop

eeObj.WriteMem32(start + 0x39c, 0x03E00008)
eeObj.WriteMem32(start + 0x3a0, 0x00000000)
eeObj.WriteMem32(start + 0x004, 0x03E00008)
eeObj.WriteMem32(start + 0x008, 0x00000000)
end

if (prev_OnOverlayRegistered ~= nil) then
-- Make sure to execute any previously registered OnOverlay handler
prev_OnOverlayRegistered(filename, start, size)
end
end

-- hooked in link_control::finish(void)>:
eeObj.AddHook(0x0010ACF8, 0x040C825, DH8) -- this is address US:0010abe0 JP:0010abd8 EU:0010ACF8

-- Lua 5.3
-- Titles: Jak and Daxter: The Precursor Legacy
-- Features version: 1.00
-- Author: David Haywood
-- Date: March/April 2017
--
-- SCES-50361 (Europe)
-- SCUS-97124 (US)
-- SCPS-15021 (Japan)
-- SCPS-56003 (Korea)

--]]


require( "ee-gpr-alias" ) -- you can access EE GPR by alias (gpr.a0 / gpr["a0"])
require( "pad-and-key" ) -- pad values

apiRequest(2.1)
-- 0.8 to enable:
-- Emu::ForceRefreshRate(int)
-- 2.1 to enable:
-- eeObject::getOverlayObject()

-- obtain necessary objects.
local eeObj = getEEObject()
local emuObj = getEmuObject()
local trophyObj = getTrophyObject()
local dmaObj = getDmaObject()
local eeOverlay = eeObj.getOverlayObject()
local SaveData = emuObj.LoadConfig(0)

--[[
-- Flip horizontal coordinate on right stick, if enabled
if SaveData["feature_invert_right_stick"] == nil then
SaveData["feature_invert_right_stick"] = true -- invert by default
end

local invert_right_stick = SaveData["feature_invert_right_stick"]
local padprev = 0
--]]

-- Let's just force it on. Remove below if we go back to toggleable.
local invert_right_stick = true

--[[
local invert_changed = function()
-- TODO: Overlay text?
if invert_right_stick == true then
print("Right Stick inverted")
else
print("Right Stick normal")
end
end

--]]

local FH2 = function() -- right after scePadRead...
local padbuf = eeObj.GetGPR(gpr.v1)

if invert_right_stick == true then
local rs = eeObj.ReadMem8(padbuf + 4)
if rs ~= 0x80 then
eeObj.WriteMem8(padbuf + 4, rs ~ 0xff)
end
end
--[[
local padread = emuObj.GetPad()
local changed = padread ~ padprev

if (changed & pad.R3) == pad.R3 and (padread & pad.R3) == pad.R3 then
invert_right_stick = not invert_right_stick
SaveData["feature_invert_right_stick"] = invert_right_stick
emuObj.SaveConfig(0, SaveData)
invert_changed()
end

padprev = padread
--]]
end

eeObj.AddHook(0x1044C0, 0x94640002, FH2) -- CPadGetData

---
--- Disable shadows during cutscenes. Avoids black dots bug in the game during cutscenes
--- PATCH DISABLED DUE TO A BETTER FIX BELOW
---

--[[
main: 0087c9f0
movie: 0087ff78
posthook: 0087ff88 - v1 != 0 = movie/cutscene playing (offs = 0x3598)

shadow-cpu: 006fd030
shadow-execute: 006fd370
posthook: 006fd4cc - set v1 to 0x20 to disable shadow (offs = 0x68c)

]]

local in_cutscene = false

local FH3 = function()
in_cutscene = (eeObj.GetGPR(gpr.v1) ~= 0)
--[[
local flag = eeObj.GetGPR(gpr.v1)
local cutscene = false

if flag ~= 0 then
cutscene = true
else
cutscene = false
end

if cutscene ~= in_cutscene then
if cutscene == true then
print("Cutscene started")
else
print("Cutscene ended")
end

in_cutscene = cutscene
end
]]--
end

local FH4 = function()
if in_cutscene == true then
-- print("shadows disabled")
eeObj.SetGpr(gpr.v1, 0x20)
end
end

--eeOverlay.AddPostHook("main.seg1", 0x3598, 0x30630800, FH3)
--eeOverlay.AddPostHook("shadow-cpu.seg1", 0x68c, 0x8e43000c, FH4)

---
--- VU1 Shadow Shader fix, based on fixes applied to Jak 2
---

local fixedshadowvu1 = {
0xEA, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x13, 0x00, 0x00, 0x40,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xCD, 0x00, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x48, 0x01, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x40, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x58, 0x03, 0x01, 0x10, 0xFF, 0x02, 0x00, 0x00, 0x64, 0x03, 0x02, 0x10,
0xFF, 0x02, 0x00, 0x00, 0xFD, 0x0B, 0x01, 0x81, 0xFF, 0x02, 0x00, 0x00,
0xFD, 0x13, 0x81, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFD, 0x0B, 0x41, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFD, 0x13, 0x21, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x70, 0x03, 0xE2, 0x01, 0xFF, 0x02, 0x00, 0x00, 0x72, 0x03, 0xE3, 0x01,
0xFF, 0x02, 0x00, 0x00, 0x73, 0x03, 0xE4, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x74, 0x03, 0xE5, 0x01, 0xFF, 0x02, 0x00, 0x00, 0x75, 0x03, 0xEC, 0x01,
0xFF, 0x02, 0x00, 0x40, 0x71, 0x03, 0xED, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x58, 0x01, 0x03, 0x10, 0xFF, 0x02, 0x00, 0x00, 0xFE, 0x1B, 0x08, 0x81,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0x0B, 0x02, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x72, 0x18, 0x03, 0x80, 0x43, 0x06, 0x40, 0x00, 0x78, 0x03, 0xF9, 0x01,
0x83, 0x06, 0x40, 0x00, 0x79, 0x03, 0xFD, 0x01, 0xC3, 0x06, 0x40, 0x00,
0x7B, 0x03, 0xFE, 0x01, 0x03, 0x07, 0x40, 0x00, 0x00, 0x00, 0xE6, 0x01,
0xFF, 0x02, 0x00, 0x00, 0x01, 0x00, 0xE7, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x02, 0x00, 0xE8, 0x01, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0xE9, 0x01,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0x0B, 0x21, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x00, 0xC8, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x01, 0xE8, 0xE2, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x02, 0xF0, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00,
0x00, 0xC8, 0xE1, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x01, 0xE8, 0xE1, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x02, 0xF0, 0xE1, 0x03, 0xFF, 0x02, 0x00, 0x00,
0x7C, 0x1B, 0xF0, 0x81, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0x83, 0x04, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0x83, 0x25, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0x83, 0x46, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x04, 0x20, 0xF1, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x04, 0x28, 0xF2, 0x01, 0xFF, 0x02, 0x00, 0x00, 0x04, 0x30, 0xF3, 0x01,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xBF, 0x49, 0xE0, 0x01,
0x3C, 0x8B, 0xEF, 0x81, 0xBC, 0x30, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80,
0xBD, 0x38, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80, 0x4A, 0x44, 0xF1, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBF, 0x49, 0xE0, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6C, 0x97, 0xEF, 0x01, 0x30, 0x00, 0x00, 0x80, 0xAC, 0x9F, 0xEF, 0x01,
0xBC, 0x63, 0x91, 0x81, 0xBC, 0x30, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6A, 0x8D, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80, 0xBD, 0x38, 0xF2, 0x01,
0x30, 0x00, 0x00, 0x80, 0x8A, 0x44, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0xBF, 0x49, 0xE0, 0x01, 0x30, 0x00, 0x00, 0x80, 0xBC, 0x30, 0xF3, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBD, 0x38, 0xF3, 0x01, 0xBC, 0x63, 0x92, 0x81,
0x5C, 0x8C, 0xC0, 0x01, 0x30, 0x00, 0x00, 0x80, 0xCA, 0x44, 0xF3, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAA, 0x95, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80,
0xFE, 0xEA, 0xDE, 0x01, 0x30, 0x00, 0x00, 0x80, 0x6E, 0xF7, 0xDD, 0x01,
0x30, 0x00, 0x00, 0x80, 0x68, 0x8E, 0x83, 0x01, 0x30, 0x00, 0x00, 0x80,
0x68, 0x8C, 0xE5, 0x01, 0xBC, 0x63, 0x93, 0x81, 0x9C, 0x94, 0xC0, 0x01,
0x30, 0x00, 0x00, 0x80, 0xEA, 0x9D, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6A, 0xEF, 0xCF, 0x01, 0x30, 0x00, 0x00, 0x80, 0x6A, 0xCE, 0x84, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAF, 0x52, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80,
0xEB, 0x5A, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80, 0x7D, 0x89, 0xF1, 0x01,
0x30, 0x00, 0x00, 0x80, 0xA8, 0x96, 0x83, 0x01, 0x30, 0x00, 0x00, 0x80,
0xA8, 0x94, 0xE5, 0x01, 0x00, 0x00, 0x00, 0x22, 0x41, 0xEF, 0x1D, 0x01,
0x30, 0x00, 0x00, 0x80, 0xDC, 0x9C, 0xC0, 0x01, 0x04, 0xC8, 0xE2, 0x03,
0xAF, 0x52, 0xF2, 0x01, 0x05, 0x88, 0xE2, 0x03, 0xEB, 0x5A, 0xF2, 0x01,
0x30, 0x00, 0x00, 0x80, 0xFF, 0xA9, 0xD5, 0x01, 0x30, 0x00, 0x00, 0x80,
0xAA, 0xD6, 0x84, 0x01, 0x30, 0x00, 0x00, 0x80, 0x42, 0xEF, 0x1D, 0x01,
0x30, 0x00, 0x00, 0x80, 0x7D, 0x91, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0xE8, 0x9E, 0x83, 0x01, 0x06, 0xD0, 0xE2, 0x03, 0xE8, 0x9C, 0xE5, 0x01,
0x02, 0x00, 0x01, 0x2C, 0xFF, 0xB1, 0xD6, 0x01, 0x07, 0x90, 0xE2, 0x03,
0xFF, 0xB9, 0xD7, 0x01, 0x03, 0x08, 0x00, 0x50, 0xEA, 0xDE, 0x84, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAF, 0x52, 0xF3, 0x01, 0x02, 0x00, 0x00, 0x40,
0xFF, 0x02, 0x00, 0x00, 0x77, 0x03, 0xFF, 0x01, 0xEB, 0x5A, 0xF3, 0x01,
0x76, 0x03, 0xFF, 0x01, 0xEB, 0x5A, 0xF3, 0x01, 0xFF, 0xFF, 0x03, 0x24,
0x7D, 0x99, 0xF3, 0x01, 0x52, 0x08, 0x00, 0x52, 0xFF, 0x02, 0x00, 0x00,
0xF2, 0x47, 0x08, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x08, 0xD8, 0xE2, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x03, 0xF8, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00,
0x09, 0x98, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0x16, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0x0B, 0x22, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x3D, 0x0B, 0xE1, 0x81, 0xFF, 0x02, 0x00, 0x00, 0xBC, 0x47, 0x00, 0x5A,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x58, 0x01, 0x03, 0x10, 0xFF, 0x02, 0x00, 0x00, 0xFE, 0x1B, 0x08, 0x81,
0xFF, 0x02, 0x00, 0x00, 0x72, 0x18, 0x03, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x7C, 0x1B, 0xF0, 0x81, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0x83, 0x04, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0x83, 0x25, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0x83, 0x46, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xAE, 0x20, 0xF1, 0x01, 0xFF, 0x02, 0x00, 0x00,
0xAE, 0x30, 0xF2, 0x01, 0xFF, 0x02, 0x00, 0x00, 0xAE, 0x28, 0xF3, 0x01,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xBF, 0x49, 0xE0, 0x01,
0x3C, 0x8B, 0xEF, 0x81, 0xBC, 0x30, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80,
0xBD, 0x38, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80, 0x4A, 0x44, 0xF1, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBF, 0x49, 0xE0, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6C, 0x97, 0xEF, 0x01, 0x30, 0x00, 0x00, 0x80, 0xAC, 0x9F, 0xEF, 0x01,
0xBC, 0x63, 0x91, 0x81, 0xBC, 0x30, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6A, 0x8D, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80, 0xBD, 0x38, 0xF2, 0x01,
0x30, 0x00, 0x00, 0x80, 0x8A, 0x44, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0xBF, 0x49, 0xE0, 0x01, 0x30, 0x00, 0x00, 0x80, 0xBC, 0x30, 0xF3, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBD, 0x38, 0xF3, 0x01, 0xBC, 0x63, 0x92, 0x81,
0x5C, 0x8C, 0xC0, 0x01, 0x30, 0x00, 0x00, 0x80, 0xCA, 0x44, 0xF3, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAA, 0x95, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80,
0xFE, 0xEA, 0xDE, 0x01, 0x30, 0x00, 0x00, 0x80, 0x6E, 0xF7, 0xDD, 0x01,
0x30, 0x00, 0x00, 0x80, 0x68, 0x8E, 0x83, 0x01, 0x30, 0x00, 0x00, 0x80,
0x68, 0x8C, 0xE5, 0x01, 0xBC, 0x63, 0x93, 0x81, 0x9C, 0x94, 0xC0, 0x01,
0x30, 0x00, 0x00, 0x80, 0xEA, 0x9D, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6A, 0xEF, 0xCF, 0x01, 0x30, 0x00, 0x00, 0x80, 0x6A, 0xCE, 0x84, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAF, 0x52, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80,
0xEB, 0x5A, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80, 0x7D, 0x89, 0xF1, 0x01,
0x30, 0x00, 0x00, 0x80, 0xA8, 0x96, 0x83, 0x01, 0x30, 0x00, 0x00, 0x80,
0xA8, 0x94, 0xE5, 0x01, 0x00, 0x00, 0x00, 0x22, 0x41, 0xEF, 0x1D, 0x01,
0x30, 0x00, 0x00, 0x80, 0xDC, 0x9C, 0xC0, 0x01, 0x04, 0xC8, 0xE2, 0x03,
0xAF, 0x52, 0xF2, 0x01, 0x05, 0x88, 0xE2, 0x03, 0xEB, 0x5A, 0xF2, 0x01,
0x30, 0x00, 0x00, 0x80, 0xFF, 0xA9, 0xD5, 0x01, 0x30, 0x00, 0x00, 0x80,
0xAA, 0xD6, 0x84, 0x01, 0xF2, 0x47, 0x08, 0x80, 0x42, 0xEF, 0x1D, 0x01,
0x30, 0x00, 0x00, 0x80, 0x7D, 0x91, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0xE8, 0x9E, 0x83, 0x01, 0x06, 0xD0, 0xE2, 0x03, 0xE8, 0x9C, 0xE5, 0x01,
0x02, 0x00, 0x01, 0x2C, 0xFF, 0xB1, 0xD6, 0x01, 0x07, 0x90, 0xE2, 0x03,
0xFF, 0xB9, 0xD7, 0x01, 0x03, 0x08, 0x00, 0x50, 0xEA, 0xDE, 0x84, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAF, 0x52, 0xF3, 0x01, 0x02, 0x00, 0x00, 0x40,
0xFF, 0x02, 0x00, 0x00, 0x77, 0x03, 0xFF, 0x01, 0xEB, 0x5A, 0xF3, 0x01,
0x76, 0x03, 0xFF, 0x01, 0xEB, 0x5A, 0xF3, 0x01, 0xFF, 0xFF, 0x03, 0x24,
0x7D, 0x99, 0xF3, 0x01, 0x18, 0x08, 0x00, 0x52, 0xFF, 0x02, 0x00, 0x00,
0x08, 0xD8, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x03, 0xF8, 0xE2, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x09, 0x98, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0x16, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0x0B, 0x22, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x3D, 0x0B, 0xE1, 0x81, 0xFF, 0x02, 0x00, 0x00,
0xBD, 0x47, 0x00, 0x5A, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x40,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xE8, 0xAB, 0xE0, 0x03,
0xFF, 0x02, 0x00, 0x00, 0xEB, 0xB3, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00,
0xEE, 0xBB, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00, 0xAE, 0xFB, 0xE0, 0x03,
0xFF, 0x02, 0x00, 0x00, 0xFD, 0x13, 0x1D, 0x81, 0xFF, 0x02, 0x00, 0x00,
0xFD, 0x1B, 0x9D, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFD, 0x3B, 0x5D, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x56, 0x01, 0x0F, 0x42, 0xFF, 0x02, 0x00, 0x00,
0xFD, 0x43, 0x3D, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x68, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x23, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0xEB, 0x47, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xA8, 0x07, 0x00, 0x40,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x02, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xE8, 0xAB, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00, 0xEB, 0xB3, 0xE0, 0x03,
0xFF, 0x02, 0x00, 0x00, 0xEE, 0xBB, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00,
0xAE, 0xFB, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00, 0xFD, 0x13, 0x1D, 0x81,
0xFF, 0x02, 0x00, 0x00, 0xFD, 0x1B, 0x9D, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFD, 0x3B, 0x5D, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x48, 0x01, 0x0F, 0x42,
0xFF, 0x02, 0x00, 0x00, 0xFD, 0x43, 0x3D, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0xEB, 0x68, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x23, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x47, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xE1, 0x07, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x02, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x58, 0x02, 0x03, 0x10, 0xFF, 0x02, 0x00, 0x00,
0xFE, 0x1B, 0x08, 0x81, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0x0B, 0x02, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x72, 0x18, 0x03, 0x80, 0x43, 0x06, 0x40, 0x00,
0x78, 0x03, 0xF9, 0x01, 0x83, 0x06, 0x40, 0x00, 0x79, 0x03, 0xFD, 0x01,
0xC3, 0x06, 0x40, 0x00, 0x7C, 0x03, 0xFE, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x00, 0x00, 0xE6, 0x01, 0xFF, 0x02, 0x00, 0x00, 0x01, 0x00, 0xE7, 0x01,
0xFF, 0x02, 0x00, 0x00, 0x02, 0x00, 0xE8, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x03, 0x00, 0xE9, 0x01, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0x0B, 0x21, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x00, 0xC8, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00,
0x01, 0xE8, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x02, 0xF0, 0xE2, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x00, 0xC8, 0xE1, 0x03, 0xFF, 0x02, 0x00, 0x00,
0x01, 0xE8, 0xE1, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x02, 0xF0, 0xE1, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x7C, 0x1B, 0xF0, 0x81, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0x83, 0x46, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0x83, 0x04, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0x83, 0x25, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x06, 0x30, 0x00, 0x50, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x04, 0x20, 0xF1, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x04, 0x28, 0xF2, 0x01, 0xFF, 0x02, 0x00, 0x00, 0xAE, 0x28, 0xF3, 0x01,
0xFF, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00,
0xAE, 0x20, 0xF4, 0x01, 0xFF, 0x02, 0x00, 0x00, 0x04, 0x28, 0xF1, 0x01,
0xFF, 0x02, 0x00, 0x00, 0x04, 0x20, 0xF2, 0x01, 0xFF, 0x02, 0x00, 0x00,
0xAE, 0x20, 0xF3, 0x01, 0xFF, 0x02, 0x00, 0x00, 0xAE, 0x28, 0xF4, 0x01,
0xFF, 0x02, 0x00, 0x00, 0x3C, 0x8B, 0xEF, 0x81, 0xBF, 0x49, 0xE0, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBC, 0x30, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80,
0xBD, 0x38, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80, 0x4A, 0x44, 0xF1, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBF, 0x49, 0xE0, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6C, 0x97, 0xEF, 0x01, 0x30, 0x00, 0x00, 0x80, 0xAC, 0x9F, 0xEF, 0x01,
0xBC, 0x63, 0x91, 0x81, 0xBC, 0x30, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6A, 0x8D, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80, 0xBD, 0x38, 0xF2, 0x01,
0x30, 0x00, 0x00, 0x80, 0x8A, 0x44, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0xBF, 0x49, 0xE0, 0x01, 0x30, 0x00, 0x00, 0x80, 0xBC, 0x30, 0xF3, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBD, 0x38, 0xF3, 0x01, 0xBC, 0x63, 0x92, 0x81,
0x5C, 0x8C, 0xC0, 0x01, 0x30, 0x00, 0x00, 0x80, 0xCA, 0x44, 0xF3, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBF, 0x49, 0xE0, 0x01, 0x30, 0x00, 0x00, 0x80,
0xBC, 0x30, 0xF4, 0x01, 0x30, 0x00, 0x00, 0x80, 0xBD, 0x38, 0xF4, 0x01,
0x30, 0x00, 0x00, 0x80, 0x0A, 0x45, 0xF4, 0x01, 0x30, 0x00, 0x00, 0x80,
0xAA, 0x95, 0xE2, 0x01, 0xBC, 0x63, 0x93, 0x81, 0x9C, 0x94, 0xC0, 0x01,
0x30, 0x00, 0x00, 0x80, 0x68, 0x8E, 0x83, 0x01, 0x30, 0x00, 0x00, 0x80,
0x68, 0x8C, 0xE5, 0x01, 0x30, 0x00, 0x00, 0x80, 0xFE, 0xEA, 0xDE, 0x01,
0x30, 0x00, 0x00, 0x80, 0x6E, 0xF7, 0xDD, 0x01, 0x30, 0x00, 0x00, 0x80,
0xEA, 0x9D, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80, 0x6A, 0xEF, 0xCF, 0x01,
0xBC, 0x63, 0x94, 0x81, 0xDC, 0x9C, 0xC0, 0x01, 0x30, 0x00, 0x00, 0x80,
0x2A, 0xA6, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80, 0x6A, 0xCE, 0x84, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAF, 0x52, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80,
0xEB, 0x5A, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80, 0x7D, 0x89, 0xF1, 0x01,
0x30, 0x00, 0x00, 0x80, 0xA8, 0x96, 0x83, 0x01, 0x30, 0x00, 0x00, 0x80,
0x1C, 0xA5, 0xC0, 0x01, 0x30, 0x00, 0x00, 0x80, 0xA8, 0x94, 0xE5, 0x01,
0x30, 0x00, 0x00, 0x80, 0x41, 0xEF, 0x1D, 0x01, 0x04, 0xC8, 0xE2, 0x03,
0xAF, 0x52, 0xF2, 0x01, 0x05, 0x88, 0xE2, 0x03, 0xEB, 0x5A, 0xF2, 0x01,
0x30, 0x00, 0x00, 0x80, 0xFF, 0xA9, 0xD5, 0x01, 0x30, 0x00, 0x00, 0x80,
0xAA, 0xD6, 0x84, 0x01, 0x30, 0x00, 0x00, 0x80, 0x42, 0xEF, 0x1D, 0x01,
0x30, 0x00, 0x00, 0x80, 0x7D, 0x91, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0xE8, 0x9E, 0x83, 0x01, 0x06, 0xD0, 0xE2, 0x03, 0xE8, 0x9C, 0xE5, 0x01,
0x02, 0x00, 0x01, 0x2C, 0xFF, 0xB1, 0xD6, 0x01, 0x07, 0x90, 0xE2, 0x03,
0xFF, 0xB9, 0xD7, 0x01, 0x30, 0x00, 0x00, 0x80, 0xFF, 0xC1, 0xD8, 0x01,
0x30, 0x00, 0x00, 0x80, 0x28, 0xA7, 0x83, 0x01, 0x30, 0x00, 0x00, 0x80,
0x28, 0xA5, 0xE5, 0x01, 0x30, 0x00, 0x00, 0x80, 0xEA, 0xDE, 0x84, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAF, 0x52, 0xF3, 0x01, 0x30, 0x00, 0x00, 0x80,
0xEB, 0x5A, 0xF3, 0x01, 0x03, 0x08, 0x00, 0x50, 0x2A, 0xE7, 0x84, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAF, 0x52, 0xF4, 0x01, 0x02, 0x00, 0x00, 0x40,
0xFF, 0x02, 0x00, 0x00, 0x77, 0x03, 0xFF, 0x01, 0xEB, 0x5A, 0xF4, 0x01,
0x76, 0x03, 0xFF, 0x01, 0xEB, 0x5A, 0xF4, 0x01, 0xFF, 0xFF, 0xFF, 0x24,
0x7D, 0x99, 0xF3, 0x01, 0x0D, 0x08, 0x00, 0x52, 0xEB, 0x5A, 0xF4, 0x01,
0xF2, 0x47, 0x08, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x08, 0xD8, 0xE2, 0x03,
0x7D, 0xA1, 0xF4, 0x01, 0x03, 0xF8, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00,
0x09, 0x98, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x0A, 0xE0, 0xE2, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x0B, 0xA0, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0x16, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0x0B, 0x22, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x3D, 0x0B, 0xE1, 0x81, 0xFF, 0x02, 0x00, 0x00,
0xA7, 0x47, 0x00, 0x5A, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x40,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xE8, 0xAB, 0xE0, 0x03,
0xFF, 0x02, 0x00, 0x00, 0xEB, 0xB3, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00,
0xEE, 0xBB, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00, 0xF1, 0xC3, 0xE0, 0x03,
0xFF, 0x02, 0x00, 0x00, 0xAE, 0xFB, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00,
0xFD, 0x13, 0x1D, 0x81, 0xFF, 0x02, 0x00, 0x00, 0xFD, 0x1B, 0x9D, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFD, 0x3B, 0x5D, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xE9, 0x00, 0x0F, 0x42, 0xFF, 0x02, 0x00, 0x00, 0xFD, 0x43, 0x3D, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x68, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0xEB, 0x23, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x47, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xEE, 0x07, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0xEB, 0x02, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x58, 0x01, 0x03, 0x10,
0xFF, 0x02, 0x00, 0x00, 0xFE, 0x1B, 0x08, 0x81, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0x0B, 0x02, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x72, 0x18, 0x03, 0x80,
0x43, 0x06, 0x40, 0x00, 0x78, 0x03, 0xF9, 0x01, 0x83, 0x06, 0x40, 0x00,
0x79, 0x03, 0xFD, 0x01, 0xC3, 0x06, 0x40, 0x00, 0x7B, 0x03, 0xFE, 0x01,
0x03, 0x07, 0x40, 0x00, 0x00, 0x00, 0xE6, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x01, 0x00, 0xE7, 0x01, 0xFF, 0x02, 0x00, 0x00, 0x02, 0x00, 0xE8, 0x01,
0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0xE9, 0x01, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0x0B, 0x21, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x00, 0xC8, 0xE2, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x01, 0xE8, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00,
0x02, 0xF0, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x00, 0xC8, 0xE1, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x01, 0xE8, 0xE1, 0x03, 0xFF, 0x02, 0x00, 0x00,
0x02, 0xF0, 0xE1, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x7C, 0x1B, 0xF0, 0x81,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0x83, 0x61, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0x83, 0x04, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0x83, 0x25, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0x83, 0x46, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x04, 0x08, 0x00, 0x50, 0xFF, 0x02, 0x00, 0x00, 0x04, 0x20, 0xF1, 0x01,
0xFF, 0x02, 0x00, 0x00, 0x04, 0x28, 0xF2, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x03, 0x00, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00, 0x04, 0x30, 0xF3, 0x01,
0xFF, 0x02, 0x00, 0x00, 0x04, 0x28, 0xF3, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x04, 0x30, 0xF2, 0x01, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xBF, 0x49, 0xE0, 0x01, 0x3C, 0x8B, 0xEF, 0x81, 0xBC, 0x30, 0xF1, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBD, 0x38, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6C, 0x97, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80, 0xAC, 0x9F, 0xF1, 0x01,
0x30, 0x00, 0x00, 0x80, 0x4A, 0x44, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80,
0xBF, 0x49, 0xE0, 0x01, 0xBC, 0x63, 0x91, 0x81, 0xBC, 0x30, 0xF2, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBD, 0x38, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6A, 0x8D, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80, 0x8A, 0x44, 0xF2, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBF, 0x49, 0xE0, 0x01, 0x30, 0x00, 0x00, 0x80,
0xBC, 0x30, 0xF3, 0x01, 0x30, 0x00, 0x00, 0x80, 0xBD, 0x38, 0xF3, 0x01,
0xBC, 0x63, 0x92, 0x81, 0x5C, 0x8C, 0xC0, 0x01, 0x30, 0x00, 0x00, 0x80,
0xCA, 0x44, 0xF3, 0x01, 0x30, 0x00, 0x00, 0x80, 0xAA, 0x95, 0xE2, 0x01,
0x30, 0x00, 0x00, 0x80, 0xFE, 0xEA, 0xDE, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6E, 0xF7, 0xDD, 0x01, 0x30, 0x00, 0x00, 0x80, 0x68, 0x8E, 0x83, 0x01,
0x30, 0x00, 0x00, 0x80, 0x68, 0x8C, 0xE5, 0x01, 0xBC, 0x63, 0x93, 0x81,
0x9C, 0x94, 0xC0, 0x01, 0x30, 0x00, 0x00, 0x80, 0xEA, 0x9D, 0xE2, 0x01,
0x30, 0x00, 0x00, 0x80, 0x6A, 0xEF, 0xCF, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6A, 0xCE, 0x84, 0x01, 0x30, 0x00, 0x00, 0x80, 0xAF, 0x52, 0xF1, 0x01,
0x30, 0x00, 0x00, 0x80, 0xEB, 0x5A, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80,
0x7D, 0x89, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80, 0xA8, 0x96, 0x83, 0x01,
0x30, 0x00, 0x00, 0x80, 0xA8, 0x94, 0xE5, 0x01, 0x00, 0x00, 0x00, 0x22,
0x41, 0xEF, 0x1D, 0x01, 0x30, 0x00, 0x00, 0x80, 0xDC, 0x9C, 0xC0, 0x01,
0x04, 0xC8, 0xE2, 0x03, 0xAF, 0x52, 0xF2, 0x01, 0x05, 0x88, 0xE2, 0x03,
0xEB, 0x5A, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80, 0xFF, 0xA9, 0xD5, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAA, 0xD6, 0x84, 0x01, 0x30, 0x00, 0x00, 0x80,
0x42, 0xEF, 0x1D, 0x01, 0x30, 0x00, 0x00, 0x80, 0x7D, 0x91, 0xF2, 0x01,
0x30, 0x00, 0x00, 0x80, 0xE8, 0x9E, 0x83, 0x01, 0x06, 0xD0, 0xE2, 0x03,
0xE8, 0x9C, 0xE5, 0x01, 0x02, 0x00, 0x01, 0x2C, 0xFF, 0xB1, 0xD6, 0x01,
0x07, 0x90, 0xE2, 0x03, 0xFF, 0xB9, 0xD7, 0x01, 0x03, 0x08, 0x00, 0x50,
0xEA, 0xDE, 0x84, 0x01, 0x30, 0x00, 0x00, 0x80, 0xAF, 0x52, 0xF3, 0x01,
0x02, 0x00, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00, 0x77, 0x03, 0xFF, 0x01,
0xEB, 0x5A, 0xF3, 0x01, 0x76, 0x03, 0xFF, 0x01, 0xEB, 0x5A, 0xF3, 0x01,
0xFF, 0xFF, 0x03, 0x24, 0x7D, 0x99, 0xF3, 0x01, 0x57, 0x08, 0x00, 0x52,
0xFF, 0x02, 0x00, 0x00, 0xF2, 0x47, 0x08, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x08, 0xD8, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x03, 0xF8, 0xE2, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x09, 0x98, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0x16, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0x0B, 0x22, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x3D, 0x0B, 0xE1, 0x81, 0xFF, 0x02, 0x00, 0x00,
0xB8, 0x47, 0x00, 0x5A, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x58, 0x01, 0x03, 0x10, 0xFF, 0x02, 0x00, 0x00,
0xFE, 0x1B, 0x08, 0x81, 0xFF, 0x02, 0x00, 0x00, 0x72, 0x18, 0x03, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x7C, 0x1B, 0xF0, 0x81, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0x83, 0x61, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0x83, 0x04, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0x83, 0x25, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0x83, 0x46, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x04, 0x08, 0x00, 0x52,
0xFF, 0x02, 0x00, 0x00, 0xAE, 0x20, 0xF1, 0x01, 0xFF, 0x02, 0x00, 0x00,
0xAE, 0x28, 0xF2, 0x01, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x40,
0xFF, 0x02, 0x00, 0x00, 0xAE, 0x30, 0xF3, 0x01, 0xFF, 0x02, 0x00, 0x00,
0xAE, 0x28, 0xF3, 0x01, 0xFF, 0x02, 0x00, 0x00, 0xAE, 0x30, 0xF2, 0x01,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xBF, 0x49, 0xE0, 0x01,
0x3C, 0x8B, 0xEF, 0x81, 0xBC, 0x30, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80,
0xBD, 0x38, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80, 0x4A, 0x44, 0xF1, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBF, 0x49, 0xE0, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6C, 0x97, 0xEF, 0x01, 0x30, 0x00, 0x00, 0x80, 0xAC, 0x9F, 0xEF, 0x01,
0xBC, 0x63, 0x91, 0x81, 0xBC, 0x30, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6A, 0x8D, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80, 0xBD, 0x38, 0xF2, 0x01,
0x30, 0x00, 0x00, 0x80, 0x8A, 0x44, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0xBF, 0x49, 0xE0, 0x01, 0x30, 0x00, 0x00, 0x80, 0xBC, 0x30, 0xF3, 0x01,
0x30, 0x00, 0x00, 0x80, 0xBD, 0x38, 0xF3, 0x01, 0xBC, 0x63, 0x92, 0x81,
0x5C, 0x8C, 0xC0, 0x01, 0x30, 0x00, 0x00, 0x80, 0xCA, 0x44, 0xF3, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAA, 0x95, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80,
0xFE, 0xEA, 0xDE, 0x01, 0x30, 0x00, 0x00, 0x80, 0x6E, 0xF7, 0xDD, 0x01,
0x30, 0x00, 0x00, 0x80, 0x68, 0x8E, 0x83, 0x01, 0x30, 0x00, 0x00, 0x80,
0x68, 0x8C, 0xE5, 0x01, 0xBC, 0x63, 0x93, 0x81, 0x9C, 0x94, 0xC0, 0x01,
0x30, 0x00, 0x00, 0x80, 0xEA, 0x9D, 0xE2, 0x01, 0x30, 0x00, 0x00, 0x80,
0x6A, 0xEF, 0xCF, 0x01, 0x30, 0x00, 0x00, 0x80, 0x6A, 0xCE, 0x84, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAF, 0x52, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80,
0xEB, 0x5A, 0xF1, 0x01, 0x30, 0x00, 0x00, 0x80, 0x7D, 0x89, 0xF1, 0x01,
0x30, 0x00, 0x00, 0x80, 0xA8, 0x96, 0x83, 0x01, 0x30, 0x00, 0x00, 0x80,
0xA8, 0x94, 0xE5, 0x01, 0x00, 0x00, 0x00, 0x22, 0x41, 0xEF, 0x1D, 0x01,
0x30, 0x00, 0x00, 0x80, 0xDC, 0x9C, 0xC0, 0x01, 0x04, 0xC8, 0xE2, 0x03,
0xAF, 0x52, 0xF2, 0x01, 0x05, 0x88, 0xE2, 0x03, 0xEB, 0x5A, 0xF2, 0x01,
0x30, 0x00, 0x00, 0x80, 0xFF, 0xA9, 0xD5, 0x01, 0x30, 0x00, 0x00, 0x80,
0xAA, 0xD6, 0x84, 0x01, 0x30, 0x00, 0x00, 0x80, 0x42, 0xEF, 0x1D, 0x01,
0x30, 0x00, 0x00, 0x80, 0x7D, 0x91, 0xF2, 0x01, 0x30, 0x00, 0x00, 0x80,
0xE8, 0x9E, 0x83, 0x01, 0x06, 0xD0, 0xE2, 0x03, 0xE8, 0x9C, 0xE5, 0x01,
0x02, 0x00, 0x01, 0x2C, 0xFF, 0xB1, 0xD6, 0x01, 0x07, 0x90, 0xE2, 0x03,
0xFF, 0xB9, 0xD7, 0x01, 0x03, 0x08, 0x00, 0x50, 0xEA, 0xDE, 0x84, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAF, 0x52, 0xF3, 0x01, 0x02, 0x00, 0x00, 0x40,
0xFF, 0x02, 0x00, 0x00, 0x77, 0x03, 0xFF, 0x01, 0xEB, 0x5A, 0xF3, 0x01,
0x76, 0x03, 0xFF, 0x01, 0xEB, 0x5A, 0xF3, 0x01, 0xFF, 0xFF, 0x03, 0x24,
0x7D, 0x99, 0xF3, 0x01, 0x19, 0x08, 0x00, 0x52, 0xFF, 0x02, 0x00, 0x00,
0xF2, 0x47, 0x08, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x08, 0xD8, 0xE2, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x03, 0xF8, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00,
0x09, 0x98, 0xE2, 0x03, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0x16, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0x0B, 0x22, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x3D, 0x0B, 0xE1, 0x81, 0xFF, 0x02, 0x00, 0x00, 0xB8, 0x47, 0x00, 0x5A,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x40, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xE8, 0xAB, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00,
0xEB, 0xB3, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00, 0xEE, 0xBB, 0xE0, 0x03,
0xFF, 0x02, 0x00, 0x00, 0xAE, 0xFB, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00,
0xFD, 0x13, 0x1D, 0x81, 0xFF, 0x02, 0x00, 0x00, 0xFD, 0x1B, 0x9D, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFD, 0x3B, 0x5D, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x14, 0x00, 0x0F, 0x42, 0xFF, 0x02, 0x00, 0x00, 0xFD, 0x43, 0x3D, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x68, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0xEB, 0x23, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x47, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xA3, 0x07, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0xEB, 0x02, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xE8, 0xAB, 0xE0, 0x03,
0xFF, 0x02, 0x00, 0x00, 0xEB, 0xB3, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00,
0xEE, 0xBB, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00, 0xAE, 0xFB, 0xE0, 0x03,
0xFF, 0x02, 0x00, 0x00, 0xFD, 0x13, 0x1D, 0x81, 0xFF, 0x02, 0x00, 0x00,
0xFD, 0x1B, 0x9D, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFD, 0x3B, 0x5D, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x06, 0x00, 0x0F, 0x42, 0xFF, 0x02, 0x00, 0x00,
0xFD, 0x43, 0x3D, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x68, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x23, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0xEB, 0x47, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xE1, 0x07, 0x00, 0x40,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0xEB, 0x02, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x7D, 0x03, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x84, 0x03, 0xE0, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x8B, 0x03, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00,
0x92, 0x03, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x99, 0x03, 0xE0, 0x03,
0xFF, 0x02, 0x00, 0x00, 0xA0, 0x03, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00,
0xD4, 0x02, 0x01, 0x10, 0xFF, 0x02, 0x00, 0x00, 0x7D, 0x03, 0x41, 0x0A,
0xFF, 0x02, 0x00, 0x00, 0xD6, 0x02, 0x01, 0x10, 0xFF, 0x02, 0x00, 0x00,
0x84, 0x03, 0x41, 0x0A, 0xFF, 0x02, 0x00, 0x00, 0xD8, 0x02, 0x01, 0x10,
0xFF, 0x02, 0x00, 0x00, 0x8B, 0x03, 0x41, 0x0A, 0xFF, 0x02, 0x00, 0x00,
0xDA, 0x02, 0x01, 0x10, 0xFF, 0x02, 0x00, 0x00, 0x92, 0x03, 0x41, 0x0A,
0xFF, 0x02, 0x00, 0x00, 0xDC, 0x02, 0x01, 0x10, 0xFF, 0x02, 0x00, 0x00,
0x99, 0x03, 0x41, 0x0A, 0xFF, 0x02, 0x00, 0x00, 0xDE, 0x02, 0x01, 0x10,
0xFF, 0x02, 0x00, 0x00, 0xA0, 0x03, 0x41, 0x0A, 0xFF, 0x02, 0x00, 0x00,
0xB0, 0x03, 0x03, 0x10, 0xFF, 0x02, 0x00, 0x00, 0xAF, 0x03, 0x04, 0x10,
0xFF, 0x02, 0x00, 0x00, 0xFD, 0x7B, 0x1F, 0x81, 0xFF, 0x02, 0x00, 0x00,
0x32, 0x00, 0x05, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x27, 0x00, 0x0F, 0x42,
0xFF, 0x02, 0x00, 0x00, 0xE8, 0x03, 0x07, 0x10, 0xFF, 0x02, 0x00, 0x00,
0x25, 0x00, 0x0F, 0x42, 0xFF, 0x02, 0x00, 0x00, 0xEB, 0x03, 0x07, 0x10,
0xFF, 0x02, 0x00, 0x00, 0x23, 0x00, 0x0F, 0x42, 0xFF, 0x02, 0x00, 0x00,
0xEE, 0x03, 0x07, 0x10, 0xFF, 0x02, 0x00, 0x00, 0x67, 0x00, 0x00, 0x40,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x7D, 0x03, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x84, 0x03, 0xE0, 0x03,
0xFF, 0x02, 0x00, 0x00, 0x8B, 0x03, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00,
0x92, 0x03, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x99, 0x03, 0xE0, 0x03,
0xFF, 0x02, 0x00, 0x00, 0xA0, 0x03, 0xE0, 0x03, 0xFF, 0x02, 0x00, 0x00,
0xD4, 0x02, 0x01, 0x10, 0xFF, 0x02, 0x00, 0x00, 0x7D, 0x03, 0x41, 0x0A,
0xFF, 0x02, 0x00, 0x00, 0xD6, 0x02, 0x01, 0x10, 0xFF, 0x02, 0x00, 0x00,
0x84, 0x03, 0x41, 0x0A, 0xFF, 0x02, 0x00, 0x00, 0xD8, 0x02, 0x01, 0x10,
0xFF, 0x02, 0x00, 0x00, 0x8B, 0x03, 0x41, 0x0A, 0xFF, 0x02, 0x00, 0x00,
0xDA, 0x02, 0x01, 0x10, 0xFF, 0x02, 0x00, 0x00, 0x92, 0x03, 0x41, 0x0A,
0xFF, 0x02, 0x00, 0x00, 0xDC, 0x02, 0x01, 0x10, 0xFF, 0x02, 0x00, 0x00,
0x99, 0x03, 0x41, 0x0A, 0xFF, 0x02, 0x00, 0x00, 0xDE, 0x02, 0x01, 0x10,
0xFF, 0x02, 0x00, 0x00, 0xA0, 0x03, 0x41, 0x0A, 0xFF, 0x02, 0x00, 0x00,
0xB0, 0x03, 0x03, 0x10, 0xFF, 0x02, 0x00, 0x00, 0xAF, 0x03, 0x04, 0x10,
0xFF, 0x02, 0x00, 0x00, 0xFD, 0x7B, 0x1F, 0x81, 0xFF, 0x02, 0x00, 0x00,
0x32, 0x00, 0x05, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x09, 0x00, 0x0F, 0x42,
0xFF, 0x02, 0x00, 0x00, 0xE8, 0x03, 0x07, 0x10, 0xFF, 0x02, 0x00, 0x00,
0x07, 0x00, 0x0F, 0x42, 0xFF, 0x02, 0x00, 0x00, 0xEB, 0x03, 0x07, 0x10,
0xFF, 0x02, 0x00, 0x00, 0x05, 0x00, 0x0F, 0x42, 0xFF, 0x02, 0x00, 0x00,
0xEE, 0x03, 0x07, 0x10, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x0F, 0x42,
0xFF, 0x02, 0x00, 0x00, 0xF1, 0x03, 0x07, 0x10, 0xFF, 0x02, 0x00, 0x00,
0x47, 0x00, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x7D, 0x03, 0x09, 0x10, 0xFF, 0x02, 0x00, 0x00,
0x32, 0x00, 0x0A, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xA7, 0x4B, 0x01, 0x12,
0xFF, 0x02, 0x00, 0x00, 0xFE, 0x4B, 0x88, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x2B, 0x08, 0x00, 0x5E, 0xFF, 0x02, 0x00, 0x00, 0xFE, 0x4B, 0x46, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x00, 0x38, 0xEF, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x00, 0x40, 0xEE, 0x01, 0xFF, 0x02, 0x00, 0x00, 0x0B, 0x40, 0x00, 0x52,
0xFF, 0x02, 0x00, 0x00, 0xFF, 0x4B, 0x87, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x00, 0x30, 0x0B, 0x4A, 0xFF, 0x02, 0x00, 0x00, 0xFF, 0x4B, 0x07, 0x81,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x02, 0x00, 0x02, 0x2C, 0xFF, 0x02, 0x00, 0x00,
0x2D, 0x10, 0x00, 0x52, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xEF, 0x07, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00,
0xF2, 0x49, 0x09, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x30, 0x0B, 0x4A,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x02, 0x00, 0x01, 0x2C, 0xFF, 0x02, 0x00, 0x00,
0x02, 0x00, 0x02, 0x2C, 0xFF, 0x02, 0x00, 0x00, 0x0A, 0x08, 0x00, 0x52,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x03, 0x10, 0x00, 0x52, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xE3, 0x07, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00,
0xF2, 0x49, 0x09, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x6D, 0x00, 0x0B, 0x42,
0xFF, 0x02, 0x00, 0x00, 0x72, 0x48, 0x07, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x01, 0x80, 0xE9, 0x03, 0xFF, 0x02, 0x00, 0x00, 0xDE, 0x07, 0x00, 0x40,
0xFF, 0x02, 0x00, 0x00, 0xF2, 0x49, 0x09, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x18, 0x10, 0x00, 0x52, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x6B, 0x00, 0x0B, 0x42, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x04, 0x80, 0xE9, 0x03,
0xFF, 0x02, 0x00, 0x00, 0xF2, 0x49, 0x09, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xA7, 0x53, 0x09, 0x0B, 0xFF, 0x02, 0x00, 0x00, 0xA7, 0x53, 0x87, 0x0A,
0xFF, 0x02, 0x00, 0x00, 0x72, 0x50, 0x0A, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xD3, 0x07, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00, 0x72, 0x4F, 0x07, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x00, 0x38, 0xEE, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x72, 0x28, 0x05, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xBC, 0x03, 0xEE, 0x81,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xAA, 0x73, 0xED, 0x01,
0xB2, 0x18, 0x03, 0x80, 0xFF, 0x02, 0x00, 0x00, 0xBF, 0x03, 0x00, 0x80,
0x87, 0x03, 0x20, 0x00, 0x30, 0x00, 0x00, 0x80, 0x9C, 0x73, 0xC0, 0x01,
0x30, 0x00, 0x00, 0x80, 0xA8, 0x76, 0x83, 0x01, 0x30, 0x00, 0x00, 0x80,
0xA8, 0x73, 0xE5, 0x01, 0x30, 0x00, 0x00, 0x80, 0xAA, 0xD6, 0x84, 0x01,
0x30, 0x00, 0x00, 0x80, 0xAF, 0x52, 0xEE, 0x01, 0x30, 0x00, 0x00, 0x80,
0xEB, 0x5A, 0xEE, 0x01, 0xFE, 0xD7, 0xE3, 0x03, 0x7D, 0x71, 0xEE, 0x01,
0xFF, 0x77, 0xE3, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x05, 0x50, 0x00, 0x5C,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xA6, 0x53, 0x09, 0x09, 0xFF, 0x02, 0x00, 0x00, 0xA6, 0x53, 0x87, 0x08,
0xFF, 0x02, 0x00, 0x00, 0xBF, 0x07, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00,
0xF2, 0x57, 0x0A, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x78, 0x00, 0x48,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x7D, 0x03, 0x09, 0x10, 0xFF, 0x02, 0x00, 0x00, 0xFE, 0x4B, 0x08, 0x81,
0xFF, 0x02, 0x00, 0x00, 0xFE, 0x4B, 0x87, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xFE, 0x4B, 0x46, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x1E, 0x40, 0x00, 0x50, 0xFF, 0x02, 0x00, 0x00,
0x00, 0x38, 0xEE, 0x01, 0xFF, 0x02, 0x00, 0x00, 0x1C, 0x40, 0x07, 0x50,
0xFF, 0x02, 0x00, 0x00, 0x00, 0x40, 0xEF, 0x01, 0xFF, 0x02, 0x00, 0x00,
0x00, 0x30, 0x0B, 0x4A, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x02, 0x00, 0x01, 0x2C,
0xFF, 0x02, 0x00, 0x00, 0x02, 0x00, 0x02, 0x2C, 0xFF, 0x02, 0x00, 0x00,
0x14, 0x08, 0x02, 0x50, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x0A, 0x08, 0x00, 0x50, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x39, 0x00, 0x0B, 0x42,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x04, 0x80, 0xE9, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x32, 0x49, 0x07, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x35, 0x4B, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xA2, 0x07, 0x0F, 0x42, 0xFF, 0x02, 0x00, 0x00, 0xF2, 0x49, 0x09, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x40, 0xFF, 0x02, 0x00, 0x00,
0x75, 0x62, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x2B, 0x00, 0x0B, 0x42,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x01, 0x80, 0xE9, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x72, 0x48, 0x07, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x35, 0x4B, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x99, 0x07, 0x0F, 0x42, 0xFF, 0x02, 0x00, 0x00, 0xF2, 0x49, 0x09, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x75, 0x62, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xA0, 0x4B, 0x01, 0x12, 0xFF, 0x02, 0x00, 0x00, 0xFF, 0x4B, 0x00, 0x81,
0xFF, 0x02, 0x00, 0x00, 0xFF, 0x4B, 0x80, 0x80, 0xFF, 0x02, 0x00, 0x00,
0xD9, 0x0F, 0x00, 0x58, 0xFF, 0x02, 0x00, 0x00, 0xF2, 0x49, 0x09, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x0F, 0x28, 0x00, 0x50, 0xFF, 0x02, 0x00, 0x00,
0xFC, 0xFB, 0x0F, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x28, 0x05, 0x11,
0xFF, 0x02, 0x00, 0x00, 0x00, 0x28, 0x05, 0x11, 0xFF, 0x02, 0x00, 0x00,
0xFF, 0x23, 0x05, 0x81, 0xFF, 0x02, 0x00, 0x00, 0xAC, 0x03, 0x01, 0x10,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0x0E, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x78, 0x03, 0xFE, 0x01, 0xFF, 0x02, 0x00, 0x00, 0x7A, 0x03, 0xFF, 0x01,
0xFF, 0x02, 0x00, 0x00, 0xFE, 0x03, 0x01, 0x10, 0xFF, 0x02, 0x00, 0x00,
0xFF, 0x07, 0xE2, 0x13, 0xFF, 0x02, 0x00, 0x00, 0x00, 0xF0, 0xE1, 0x03,
0xFF, 0x02, 0x00, 0x00, 0xFF, 0x0B, 0x02, 0x81, 0xFF, 0x02, 0x00, 0x00,
0x01, 0xF8, 0xE1, 0x03, 0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0xFC, 0x0E, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x78, 0x00, 0x48,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00,
0x00, 0x58, 0x00, 0x48, 0x80, 0x77, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x80,
0xC0, 0x7F, 0x2F, 0x00, 0x00, 0x58, 0x00, 0x48, 0x84, 0x77, 0x2E, 0x00,
0x30, 0x00, 0x00, 0x80, 0xC4, 0x7F, 0x2F, 0x00, 0x00, 0x58, 0x00, 0x48,
0x81, 0x77, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x80, 0xC1, 0x7F, 0x2F, 0x00,
0x00, 0x58, 0x00, 0x48, 0x85, 0x77, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x80,
0xC5, 0x7F, 0x2F, 0x00, 0x00, 0x58, 0x00, 0x48, 0x82, 0x77, 0x2E, 0x00,
0x30, 0x00, 0x00, 0x80, 0xC2, 0x7F, 0x2F, 0x00, 0x00, 0x58, 0x00, 0x48,
0x86, 0x77, 0x2E, 0x00, 0x30, 0x00, 0x00, 0x80, 0xC6, 0x7F, 0x2F, 0x00,
0x30, 0x00, 0x00, 0x80, 0xC7, 0xF7, 0x3F, 0x00, 0xBC, 0xF3, 0xFF, 0x81,
0x2C, 0x7C, 0xEE, 0x01, 0xBF, 0x03, 0x00, 0x80, 0x1C, 0x84, 0xE0, 0x01,
0x00, 0x58, 0x00, 0x48, 0x28, 0x74, 0xF0, 0x01, 0x30, 0x00, 0x00, 0x80,
0xFF, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0x87, 0xF7, 0x3F, 0x00,
0xBC, 0xFB, 0xFE, 0x81, 0x2C, 0x74, 0xEF, 0x01, 0xBF, 0x03, 0x00, 0x80,
0x1C, 0x84, 0xE0, 0x01, 0x00, 0x58, 0x00, 0x48, 0x2C, 0x7C, 0xF0, 0x01,
0x30, 0x00, 0x00, 0x80, 0xFF, 0x02, 0x00, 0x00
}

local FH5 = function()
-- if we didn't copy over the patched vu1 code, do it
if eeObj.ReadMem32(0x1FFC000) ~= 0x2ea then
for x = 1, #fixedshadowvu1 do
eeObj.WriteMem8(0x1FFC000 + x - 1, fixedshadowvu1[x])
end
end

eeObj.SetGpr(gpr.a1, 0x1FFC000)
-- print("gnarly hack engaged")
end

eeOverlay.AddPostHook("shadow-vu1.seg1", 0x20, 0x24060001, FH5)

---

-- Force NTSC at boot
eeInsnReplace(0x1094E8, 0x24030001, 0x24030000)

-- Disable Video Mode menu
local FH6 = function()
eeObj.SetGpr(gpr.a0, eeObj.GetGPR(gpr.s7))
end

eeOverlay.AddPostHook("progress.seg1", 0x8ed0, 0x66e40008, FH6)

---

local FH1 = function()


-- 15120c 16:9
-- 14e4c4 4:3

local v1 = eeObj.GetGpr(gpr.v1)

print( string.format("ASPECT CALL v1:%08x", v1 ) )

if v1 == 0x14e4c4 or v1 == 0x14e5c4 then

print( string.format("Set 4:3" ) )
emuObj.SetDisplayAspectNormal()

elseif v1 == 0x15120c or v1 == 0x015130c then

print( string.format("Set 16:9" ) )
emuObj.SetDisplayAspectWide()

end

end


eeOverlay.AddPostHook("settings.seg1", 0x374, 0x9f840048, FH1)


--[[

this is the sceScfGetAspect system call, returning the actual PS2 mode (widescreen / not widescreen) (japan version)

00115C78 8FA20000 lw v0,0x0000(sp) .. .. LS .. .. .. .. ..
00115C7C 00021042 srl v0,v0,1 IX .. .. .. .. .. .. .. [02] REG
00115C80 30420003 andi v0,v0,0x3 IX .. .. .. .. .. .. ..
00115C84 DFBF0010 ld ra,0x0010(sp) .. .. LS .. .. .. .. ..
00115C88 03E00008 jr ra .. .. .. BR .. .. .. .. [01] REG
00115C8C 27BD0020 addiu sp,sp,0x20 IX .. .. .. .. .. .. ..

--]]

--[[
called from

0010015C 3C010013 lui at,0x13 IX .. .. .. .. .. .. ..
00100160 A422DFDA sh v0,0xDFDA(at) .. .. LS .. .. .. .. ..
00100164 0C0456F4 jal 0x00115BD0 .. .. .. BR .. .. .. ..
00100168 00000000 nop IX .. .. .. .. .. .. ..
0010016C 3C010013 lui at,0x13 IX .. .. .. .. .. .. ..
00100170 A422DFD8 sh v0,0xDFD8(at) .. .. LS .. .. .. .. ..
00100174 3C010013 lui at,0x13 IX .. .. .. .. .. .. ..

--]]

local ForceWideScreen = function()
local v0 = eeObj.GetGpr(gpr.v0)

print( string.format("sceScfGetAspect call would be returning %08x", v0 ) )

v0 = 2;

print( string.format("sceScfGetAspect call is returning %08x", v0 ) )

eeObj.SetGpr(gpr.v0,v0)
end

eeObj.AddHook(0x0010015C, 0x3C010013, ForceWideScreen)


-- Credits

-- Trophy design and development by SCEA ISD SpecOps
-- David Thach Senior Director
-- George Weising Executive Producer
-- Tim Lindquist Senior Technical PM
-- Clay Cowgill Engineering
-- Nicola Salmoria Engineering
-- David Haywood Engineering
-- Warren Davis Engineering
-- Jenny Murphy Producer
-- David Alonzo Assistant Producer
-- Tyler Chan Associate Producer
-- Karla Quiros Manager Business Finance & Ops
-- Mayene de la Cruz Art Production Lead
-- Thomas Hindmarch Production Coordinator
-- Special thanks to R&D
 
Well then maybe you should read the text that's in front of you instead of being sarcastic? ;)

View attachment 878

It clearly states "PS2 Classics" which means the games have been released officially on PSN. There's no mindreading needed or involved, just some basic logic; the PS2 Classics versions are playable. Once somebody uploads Jak II/3/Combat X and shares the included files, we'll be able to use the config/LUA fixes to make homebrew versions too.

All four Jak titles require *substantial* fixes in order to work, fixes beyond most people who aren't intimately familiar with the code of PS2emu, as well as the code of the games in question. We have Jak 1 now because some kind soul uploaded it as an fPKG for people to look into.
Yeah sure, sarcastic and silly. In a forum, one ask for things that he doesn't know. Giving a monosyllabic answer, aka PS2 classic..., Doesn't bring anything to discussion, nor to enlighten less informed people. So thanks for being silly.
 
It wasn't a monosyllabic answer, it was an awesome to your statement that nobody has a working Jak 2/3 and to refute your claim that the wiki states they work fine, the wiki states "PS2 Classics", not "these games work fine when Sabin1981 makes fPKG ISOs of them" :D Honestly, I just provided you with the data for Jak 1. Now you're informed.
 
  • Like
Reactions: Belafontep
no one knows if these two games work?
th
jaquette-sakura-taisen-3-playstation-2-ps2-cover-avant-g.jpg
 
It seems nobody has even tried them yet, wiki is empty. Worth a try then :D

~edit~

There's no translation for those games, they're 100% Japanese. You're okay with that?
 
Last edited:
It seems nobody has even tried them yet, wiki is empty. Worth a try then :D

~edit~

There's no translation for those games, they're 100% Japanese. You're okay with that?
hope you try guitar hero 2 also.. already in the list with minor issue.. really want to play guitar hero so bad.. lol
 
It seems nobody has even tried them yet, wiki is empty. Worth a try then :D

~edit~

There's no translation for those games, they're 100% Japanese. You're okay with that?


Oh Yes ! Completely agree, it does not bother me :D
 
hope you try guitar hero 2 also.. already in the list with minor issue.. really want to play guitar hero so bad.. lol

It's not really a minor issue though... having the game freeze on you if you fail a song, and possibly even if you BEAT the song - since it hasn't been confirmed yet, strikes me as a major unplayable issue :D I can always try, but don't hold your breath.

Oh Yes ! Completely agree, it does not bother me :D

Fair enough, I'll check them out later tonight if nobody else does :)
 
Well I did the test myself, for sakura wars 1 I have not managed to find the sakura wars 3 ...

I may be badly done, the fkg, but the game freeze in the middle of the game impossible to continue ...
 
I have a question for sabin1981. Would you need the .iso or .bin files to see if Hidden Invasion, X-Squad, and Orphen work as a PS2 for PS4 fake .pkg? I noticed that none of those are on the compatibility list, so I thought I'd ask before doing anything else.

Thanks :)
 
If by "you" you mean, me? Then no, I don't need/want the ISOs.. I'm semi-retired at the moment due to health issues and I'm currently not making any new titles or taking requests. If by "you" you mean you, then yes, of course you'll need the ISO/BIN files in order to make a PKG - how else would the game work? :P If you have a BIN then you'll need a CUE as well and to then convert BIN to ISO. I use bchunk.exe to convert BIN to ISO.