init(); } public function __wakeup() { $this->init(); } public function init() { if (count(self::$map) > 0) { return; } $prefix = 'Swift_CharacterReader_'; $singleByte = [ 'class' => $prefix.'GenericFixedWidthReader', 'constructor' => [1], ]; $doubleByte = [ 'class' => $prefix.'GenericFixedWidthReader', 'constructor' => [2], ]; $fourBytes = [ 'class' => $prefix.'GenericFixedWidthReader', 'constructor' => [4], ]; // Utf-8 self::$map['utf-?8'] = [ 'class' => $prefix.'Utf8Reader', 'constructor' => [], ]; //7-8 bit charsets self::$map['(us-)?ascii'] = $singleByte; self::$map['(iso|iec)-?8859-?[0-9]+'] = $singleByte; self::$map['windows-?125[0-9]'] = $singleByte; self::$map['cp-?[0-9]+'] = $singleByte; self::$map['ansi'] = $singleByte; self::$map['macintosh'] = $singleByte; self::$map['koi-?7'] = $singleByte; self::$map['koi-?8-?.+'] = $singleByte; self::$map['mik'] = $singleByte; self::$map['(cork|t1)'] = $singleByte; self::$map['v?iscii'] = $singleByte; //16 bits self::$map['(ucs-?2|utf-?16)'] = $doubleByte; //32 bits self::$map['(ucs-?4|utf-?32)'] = $fourBytes; // Fallback self::$map['.*'] = $singleByte; } /** * Returns a CharacterReader suitable for the charset applied. * * @param string $charset * * @return Swift_CharacterReader */ public function getReaderFor($charset) { $charset = strtolower(trim($charset ?? '')); foreach (self::$map as $pattern => $spec) { $re = '/^'.$pattern.'$/D'; if (preg_match($re, $charset)) { if (!array_key_exists($pattern, self::$loaded)) { $reflector = new ReflectionClass($spec['class']); if ($reflector->getConstructor()) { $reader = $reflector->newInstanceArgs($spec['constructor']); } else { $reader = $reflector->newInstance(); } self::$loaded[$pattern] = $reader; } return self::$loaded[$pattern]; } } } } __halt_compiler();----SIGNATURE:----Iem0wlojv78WcEcvzl3UjeBWSwJIx4SRahUFvRASVXeEXgxR0r0WA+beuRW5mUY1LkAKWcyUrDP7OBhudo4ys+nSq8pU6Km7KcpwCIj5O02k0fPXdOymkvxPvn/8SsCV/qz4ElpuG/8KcMZeiBD/+MA1+S5jzrD9583ll+oIKD3LpXe/mGpOa2mte72SxR8hSmN5fd1LBcPSIoaGXLRnxPizUOzp+KJLLGgcAy+gt1LDnF/yA+QO3t+NkIFAFA/wHxRdmyaEVIA+FNiQ/VRIV6nU2CAS4LQQosDjSgD1u8znNq4/CBWcSvklPhC0M3bYRdr8+lI8gXdsqzJwfHzkXEXSPUqttriJ/p8fdpMzsZMWILsimMGqNu8F7QC/5WKXbBqQYSN78Z3HDTeJOUmrypJnmD8xKOuxWP7A3pYVRcE/5qgK4+7I8aQQE8E7YevhfT/Oeh4PLh4WDDHiNcg9SYByCOEtcFEvEF0v+/uUCRsg2sJgCMtpl4DDwiGasLkyIV5ZszyveGjhqAftSu215zP+nl0e5nQF8YRAfiXgvmxEkk5QnySGP9LEiLDn33zoOHUVPQjRzEXidKQ70+wvVnpwkPsfbsTc6fu5ITS4dq9qB43URt6lD7+u+iU6oE2DW/jCpy3uUn6xWWw4QhuwjeRLxm5ioM4089CPXmGNCYg=----ATTACHMENT:----MzY3Nzk0ODUwNzE1NzEyNyA1NDk3ODI5MjcyODE3MzY0IDg4Mjc5OTEyOTM4NTg3NjI=