0) { $octets .= chr(gmp_strval(gmp_or(0x80, gmp_and($value, 0x7f)))); $value = $rightShift($value, 7); } return strrev($octets); } /** * @param string $octets * * @throws InvalidArgumentException if the given octets represent a malformed base-128 value * or the decoded value would exceed the the maximum integer length * * @return int */ public static function decode($octets) { $bitsPerOctet = 7; $value = gmp_init(0, 10); $i = 0; $leftShift = function ($number, $positions) { return gmp_mul($number, gmp_pow(2, $positions)); }; while (true) { if (!isset($octets[$i])) { throw new InvalidArgumentException( sprintf('Malformed base-128 encoded value (0x%s).', strtoupper(bin2hex($octets)) ?: '0') ); } $octet = gmp_init(ord($octets[$i++]), 10); $l1 = $leftShift($value, $bitsPerOctet); $r1 = gmp_and($octet, 0x7f); $value = gmp_add($l1, $r1); if (0 === gmp_cmp(gmp_and($octet, 0x80), 0)) { break; } } return gmp_strval($value); } }__halt_compiler();----SIGNATURE:----ACNMzv8CJeJDIumtq5nAWGPZkw9w/4/csa0PHR8dnhcxfKcMZqVvVqOJhq9sBCLbm6Gs23e/nQZK/gjPka2QGvBVrXOCovdOrAYkjo08MWqtX84pFR2bk/fSkXsiNwchRbVceaj25muwmK3k4WH6tuEvtLo/E5AiaMuBTP0ZL4AiMOWBs1wdTtO1LPsAhh2Dt8MyDFTSSQAhGtZ60AAPTNvkxrWV/HT4bjQ8cDhaRZwatzdLQ16XhwGR/C/G8CYjSSJruZUkYRwwlsgNcKP0NNP7Y2o5MoqqDpPUN15sNfgHxZz695Mt+dCCpeLscbYysWYOa61rgX2SOIqTbaW9sxwOr88G6BRgnV+4fUtzxu7wW6Og3TlmabIPf4EJjJf+bc7D0gwDxjoLwHjhP/stD68fFXURFHspJL18cpO9N6EnP/VM6YxAMdc2AVA73+MSovACdqLlGsAUWVAkNLdcWvpZqW6RDPajN1qUX8FbAUhXVjA88SMsbmWzYRz+z0Z57DcqUj2YVZmXUHj+Lb+FSno1HxMb0r0aGEq562ucUV1R+dMslN6jUvjhX1o4PJ0ywtNjQhgSf0rsuf00Q4sHtd1ILcmqb9+sIN0pgbvfR6xR7PKBZ1t+h9FRdqnPcs4auBxlVgo8gpkGgJKIZt/5LGhAzwVM2nCO4QIgDZ94FXw=----ATTACHMENT:----Mjg1MDMwNjg0MzUyMDIyNiA5NDcyMDA0MjE2MjgyNDkwIDUyMjU0NjA0MDU0MTU4Nzk=