public static function parseApplePriceMatrixAll($file, $directory = null)
    {
        $dom = new \DOMDocument();
        $dom->loadHTMLFile($file);

        $xpath = new \DOMXPath($dom);

        // Get all currencies
        $currencies = array();

        /** @var \DOMElement[] $currencyElements */
        $currencyElements = $xpath->query('//table[1]//tr[2]//td[position() > 1]');

        foreach ($currencyElements as $currencyElement) {
            $currency = trim($currencyElement->textContent);

            if ('Euro' == $currency) {
                $currency = 'EUR';
            }

            $currencies[] = $currency;
        }

        if (!count($currencies)) {
            throw new \RuntimeException(sprintf(
                'Not found currencies in ApplePriceMatrix in file "%s".',
                $file
            ));
        }

        $currencies = array_flip($currencies);

        foreach ($currencies as $currency => $null) {
            $currencies[$currency] = static::parseApplePriceMatrix($dom, $currency, $directory);
        }

        return $currencies;
    }